Hyperledger Fabric 开发实战 - Fabric环境部署

第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

启动成功界面如下:
Hyperledger Fabric 开发实战 - Fabric环境部署_第1张图片

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/下无对应文件)

异常描述如下:
Hyperledger Fabric 开发实战 - Fabric环境部署_第2张图片
Hyperledger Fabric 开发实战 - Fabric环境部署_第3张图片
错误提示:

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/下
Hyperledger Fabric 开发实战 - Fabric环境部署_第4张图片
3. 文件需要授权,问题描述如下
在这里插入图片描述
cd …/…/release/linux-admin/bin/路径下对以下两个文件授权即可

sudo chmod +X crytogen
sudo chmod +X configtxgen

4.API error (404) : network e2ecli_default not found

错误提示如下:
Hyperledger Fabric 开发实战 - Fabric环境部署_第5张图片
将…/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 应该可以成功启动(我是如此),如果没有建议再接再厉,加油。

你可能感兴趣的:(Hyperledger,Fabric,区块链)