前一篇已經準備好了運行環境,本篇將介紹Fabric的安裝以及測試網絡環境git
Fabric的安裝github
HyperFabric安裝大體能夠分紅兩種,docker
第一:使用自帶在腳本安裝,能夠下載fabric-sample和二進制文件到操做系統,簡化安裝過程。bootstrap
第二:以源碼在方式進行本地編譯安裝,此方式相對第一種比較複雜,需手動編譯生存相應工具。vim
本次將以第一種方式進行講解,後續將以專門在篇幅介紹第二種方式進行安裝。網絡
第一種安裝方式步驟以下:架構
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 的行,我修改後的文件以下,不一樣系統有些不一樣: