5:啟動Fabric多節點集群
5.1、啟動orderer節點服務
上述操作完成后,此時各節點的compose配置文件及證書驗證目錄都已經准備完成,可以開始嘗試啟動多機Fabric集群。
首先啟動orderer節點,切換至orderer.example.com服務器,即前文指定的10.130.116.8服務器,執行如下命令進入啟動docker進程:
docker-compose -f docker-compose-orderer.yaml up -d
運行完畢后我們可以使用docker ps看到運行了一個名字為orderer.example.com的節點。如下圖所示:
5.2、啟動peer節點服務
切換到peer0.org1.example.com服務器,即前文指定的10.130.116.9服務器,啟動本服務器的peer節點和cli,執行如下命令:
docker-compose -f docker-compose-peer.yaml up -d
運行完畢后我們使用docker ps應該可以看到2個正在運行的容器,如下視圖:
接下來依次在另外3台服務器運行啟動peer節點容器的命令,執行命令與上述方案一致,如下所示:
docker-compose -f docker-compose-peer.yaml up -d
現在我們整個Fabric4+1服務器網絡已經成型,接下來是創建channel和運行ChainCode。
5.3、創建channel和運行chaincode
切換到peer0.org1.example.com服務器上,使用該服務器上的cli來運行創建Channel和運行ChainCode的操作。首先需要進入cli容器,執行如下命令:
docker exec -it cli bash
進入容器后我們可以看到命令提示變為如下所示:
root@dd815a900955:/opt/gopath/src/github.com/hyperledger/fabric/peer#
參考如下視圖:
說明我們已經以root的身份進入到cli容器內部。官方已經提供了完整的創建Channel和測試ChainCode的腳本,並且已經映射到cli容器內部,所以我們只需要在cli內運行如下命令:
./scripts/script.sh mychannel
該腳本會一步一步的完成創建通道,將其他節點加入通道,更新錨節點,創建ChainCode,初始化賬戶,查詢,轉賬,再次查詢等鏈上代碼的各個操作都可以自動化實現。直到最后,系統提示如下視圖:
說明我們的4+1的Fabric多級部署成功了。我們現在是在peer0.org1.example.com的cli容器內,我們也可以切換到peer0.org2.example.com服務器,運行docker ps命令,可以看到本來是2個容器的,現在已經變成了3個容器,因為ChainCode會創建一個容器,如下視圖:
上圖第一個docker ps執行只有最開始創建的兩個容器,后一個docker ps命令執行后會發現有三個容器。
至此,整個官方給予的Fabric多機集群部署的工作都已經驗證完成,下面需要我們通過手動方式來一台服務器一台服務器的配置,分別執行加入通道,更新錨節點,創建ChainCode,初始化賬戶,查詢,轉賬,再次查詢等鏈上代碼的各個操作。
這些手動提交的步驟及代碼均可在./scripts/script.sh中看到,具體的執行和操作流程將會在下一章詳細講解。
本章節及前面的一章可以直接參閱:Fabric 1.0的多機部署,在這位老師的博客里寫的非常清楚,而且我也是參考這篇博客來完成多機多節點自動部署方案的,只是手動調配及后續操作在網上基本上沒有可供參考的中文內容,需要查看官網文檔來逐步實現。
截至目前,網絡上已有的所有中文方面的博客、文檔都是教會你如何跑通官方的e2e demo,也就是本章節及之前的內容,而后續的內容基本上找不到,但會有部分零散的存在,后續章節中在引用到的時候會添加對應的鏈接方便各位參閱。