第2章 Fabric及环境部署
2.1 Fabric源码获取
在go的环境变量下建立文件夹,切换到该文件夹下:
cd /home/zyp/development/go/src/github.com/hyperledger
用git命令下载完整源码
git clone https://github.com/hyperledger/fabric.git
由于我们只是在搭建环境。不需要最新的代码,所以只需要切换到v1.0.0大版本就行。
cd /home/zyp/development/go/src/github.com/hyperledger/fabric //进入fabric目录git checkout v1.0.0
git checkout v1.0.0
我现在切换到较新的版本 v1.0
Fabric源码下载完成!!
2.2 Fabric Docker镜像下载
进入到fabric的examples文件下:
cd /home/zyp/development/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
下载镜像
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
检查下载的镜像列表:
docker images
启动Fabric网络并完成ChainCode的测试,切换到examples/e2e_cli文件下
./network_setup.sh up
启动和关闭:
启动:./network_setup.sh up 关闭:./network_setup.sh down
启动成功界面如下:
2.3 启动过程异常处理
1.script.sh脚本缺少权限
在/home/zyp/development/go/src/github.com/hyperledger/fabric/下
sudo chomd +X scripts/script.sh
2.缺失文件(…/fabric/release/linux-amd64/bin/下无对应文件)
异常描述如下:
错误提示:
ERRO 001 : Cannot run peer because cannot init crypto,missing /opt/gopath/src/github/hyperledger/fabric/peer/ctypto/org1.example.com/msp folder
notes: 有些解决方案建议重新获取源码操作,事实上并不需要!事实上并不需要!
获取缺失文件的有两种方式:
- 方案一:官方参考方案,地址为
http://hyperledger-fabric.readthedocs.io/en/latest/samples.html#download-platform-specific-binaries
该地址正常情况下自然无法访问到。
- 方案二:可爱勤劳的人提供,地址为
https://download.csdn.net/download/qq_35001005/12032914
获得文件如下,放置在…/fabric/release/linux-amd64/bin/下
3. 文件需要授权,问题描述如下
cd …/…/release/linux-admin/bin/路径下对以下两个文件授权即可
sudo chmod +X crytogen
sudo chmod +X configtxgen
4.API error (404) : network e2ecli_default not found
错误提示如下:
将…/fabric/examples/e2e_cli/base/peer-base.yaml文件做如下修改:
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default
修改为:
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default
解释:
因为默认创建的网络名称为:$(目录名称)_default,而我们的这个示例项目目录名称为e2e_cli。因此网络名称为e2e_cli_deault。
可以查看验证:
docker network ls
因而需要做如上修改即可。
至此,该案例e2e_cli 应该可以成功启动(我是如此),如果没有建议再接再厉,加油。