前一篇已经准备好了运行环境,本篇将介绍Fabric的安装以及测试网络环境
Fabric的安装
HyperFabric安装大致可以分成两种,
第一:使用自带在脚本安装,可以下载fabric-sample和二进制文件到操作系统,简化安装过程。
第二:以源码在方式进行本地编译安装,此方式相对第一种比较复杂,需手动编译生存相应工具。
本次将以第一种方式进行讲解,后续将以专门在篇幅介绍第二种方式进行安装。
第一种安装方式步骤如下:
1. 创建目录:单独创建目录,方便后续管理
mkdir hyfa && cd hyfa
2. 新建bootstrap.sh并添加内容
vim bootstrap.sh
将最新hyperledger-fabric项目中sripts下bootstrap.sh内容拷贝到该文件,或者直接下载文件进行覆盖均可。
https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh
3.修改权限
chmod +x bootstrap.sh
4.执行脚本文件
sudo ./bootstrap.sh 1.4.0 (如果执行失败,可再次执行该命令,已下载的不会重新下载)
5.添加环境变量
export PATH=$HOME/hyfa/fabric-samples/bin:$PATH
说明;执行bootstrap.sh是做了什么:
1)如果当前目录没有hyperledger/fabric-samples则从github.com克隆hyperledger/fabric-samples存储库,并检出对应指定版本标签
2)将指定版本在hyperledger fabric平台特定二进制文件和配置文件安装带fabric-samples存储库的根目录中
3)下载指定版本在hyperledger fabric docker镜像,并标记为latest
测试Hyperledger Fabric网络环境
本次使用自动化脚本byfn.sh进行测试,byfn.sh自动化脚本文件为各种hyperledger fabric网络实体生存所有在证书肯密钥,并且可以实现引导服务启动及配置通道所需在一系列配置文件,具体操作步骤如下:
cd $home/hyfa/fabric-samples/first-network
sudo ./byfn.sh -m generate (生成1个order+4个peer+1个CLI网络结构, 4个Peer包含在2个org中)
sudo ./byfn.sh -m up (启动网络)
sudo ./byfn.sh -m down (关闭网络,将关闭容器,且删除加密文件,从东docker registry中删除链码图像)
在网络不使用时,请无比关闭网络,防止后期启动网络时引起冲突在错误
启动成功后信息提示如下:
安装问题总结:
在启动时遇到了一个错误,提示:
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded !!!!!!!!!!!!!!! After 5 attempts, peer0.org1 has failed to join channel ‘mychannel’ !!!!!!!!!!!!!!!! ========= ERROR !!! FAILED to execute End-2-End Scenario =========== ERROR !!!! Test failed
解决方案:
在 docker-compose-cli.yaml 中 cli 容器下,添加环境变量 GODEBUG=netdns=go,在 base/peer-base.yaml 中 peer-base 容器下,添加环境变量 GODEBUG=netdns=go
参考文献: https://yq.aliyun.com/articles/238940
解决方法二:如果以上方法不能解决问题,尝试修改 /etc/resolv.conf 文件:
注释掉 options 的行,我修改后的文件如下,不同系统有些不同:
以上为测试网络在安装,后续将介绍Fabric的架构,敬请期待!