一、先决条件
1.安装docker和docker-compose
参考博客:http://blog.csdn.net/diligent_lee/article/details/79098302
2.安装node
只需要两条命令:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
- 1
- 2
在安装node的同时会自动安装npm。安装完毕之后通过以下命令验证安装:
node -v
npm -v
- 2
参考博客:http://www.jb51.cc/article/p-xginpjpj-hh.html
Node.js官网:https://nodejs.org/en/
3.安装go及其环境变量配置
(1).下载最新版本的go二进制文件
wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz
- 1
(2).解压文件
sudo tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
- 1
(3).配置环境变量
输入命令:
sudo vim /etc/profile
- 1
export GOROOT=/usr/local/go
export GOARCH=amd64
export GOOS=linux
export GOPATH=/home/username/gopath
export GOBIN=$GOROOT/bin
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
- 2
- 3
- 4
- 5
- 6
source /etc/profile
- 1
输入以下命令查看是否安装成功:
go version
- 1
若出现:go version go1.9.2 linux/amd64 则表明配置成功!
关于GOPATH,这是go程序运行的目录,也就是所有编写的go程序都要放在这个目录下。根据上述配置,我们在~目录先新建一个gopath文件夹,然后新建三个文件夹src,pkg,bin。其中src存放源码,pkg存放编译生成的文件,bin存放生成的可执行文件。
二、下载Fabric
1.创建工作目录
mkdir -p ~/gopath/src/github.com/hyperledger/
- 1
2.下载Fabric
cd ~/gopath/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
- 2
上述下载完成之后,我们可以看到当前工作目录下多了一个fabric的文件夹,这就是我们下载好的文件,这里面有我们需要的例子。至此,我们的开发环境已经基本搭建完毕,下面将通过一个具体的例子下载fabric1.0.5的镜像并体验运行效果。
三、运行Fabric实例
输入以下命令切换工作路径:
cd ./fabric/scripts/
ls
- 2
可以看到在当前路径下面有许多的shell脚本文件,在我使用的这个Fabric版本中,有1.0.0到1.0.4的bootstrap脚本,其中默认的bootstrap.sh是1.0.5版本的,我们运行这个脚本,下载我们需要的Fabric1.0.5镜像。命令如下:
./bootstrap.sh
- 1
由于需要下载的镜像比较多,因此可能会花费一些时间。待下载完成之后脚本会显示这些镜像。
===> List out hyperledger docker images
hyperledger/fabric-tools latest 6a8993b718c8 6 weeks ago 1.33GB
hyperledger/fabric-tools x86_64-1.0.5 6a8993b718c8 6 weeks ago 1.33GB
hyperledger/fabric-couchdb latest 9a58db2d2723 6 weeks ago 1.5GB
hyperledger/fabric-couchdb x86_64-1.0.5 9a58db2d2723 6 weeks ago 1.5GB
hyperledger/fabric-kafka latest b8c5172bb83c 6 weeks ago 1.29GB
hyperledger/fabric-kafka x86_64-1.0.5 b8c5172bb83c 6 weeks ago 1.29GB
hyperledger/fabric-zookeeper latest 68945f4613fc 6 weeks ago 1.32GB
hyperledger/fabric-zookeeper x86_64-1.0.5 68945f4613fc 6 weeks ago 1.32GB
hyperledger/fabric-orderer latest 368c78b6f03b 6 weeks ago 151MB
hyperledger/fabric-orderer x86_64-1.0.5 368c78b6f03b 6 weeks ago 151MB
hyperledger/fabric-peer latest c2ab022f0bdb 6 weeks ago 154MB
hyperledger/fabric-peer x86_64-1.0.5 c2ab022f0bdb 6 weeks ago 154MB
hyperledger/fabric-javaenv latest 50890cc3f0cd 6 weeks ago 1.41GB
hyperledger/fabric-javaenv x86_64-1.0.5 50890cc3f0cd 6 weeks ago 1.41GB
hyperledger/fabric-ccenv latest 33feadb8f7a6 6 weeks ago 1.28GB
hyperledger/fabric-ccenv x86_64-1.0.5 33feadb8f7a6 6 weeks ago 1.28GB
hyperledger/fabric-ca latest 002c9089e464 6 weeks ago 238MB
hyperledger/fabric-ca x86_64-1.0.5 002c9089e464 6 weeks ago 238MB
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
并且,这个脚本运行完毕之后,我们会发现当前目录下多了一个bin文件夹,这个文件夹中所包含的可执行文件正是我们运行例子所需要的。现在我们需要把这个文件夹复制到我们需要运行的例子的上层目录中,输入命令:
cp -rf bin/ ./../examples/
- 1
接下来我们就可以运行官方给出的例子:e2e_cli
cd ./../examples/e2e_cli/
./network_setup.sh up
- 2
正确运行结果:
===================== All GOOD,End-2-End execution completed =====================
_____ _ _ ____ _____ ____ _____
| ____| | \ | | | _ \ | ____| |___ \ | ____|
| _| | \| | | | | | _____ | _| __) | | _|
| |___ | |\ | | |_| | |_____| | |___ / __/ | |___
|_____| |_| \_| |____/ |_____| |_____| |_____|
- 8
关闭实例:
Ctrl+c
./network_setup.sh down