ChainDesk:一分鐘啟動我們的分散式網路

weixin_33797791發表於2018-12-21
15087597-a84a587783f9ec48.jpg

作者:ChainDesk韓小東,ChainDesk區塊鏈行業分析師, ChainDesk區塊鏈工程師

目標

1.深入理解 Hyperledger Fabric 網路啟動過程

2.掌握網路啟動命令及其所需引數

任務實現

網路啟動之前所需的所有內容我們已經準備就緒,下面我們深入分析網路中各節點執行時所需要指定的必備資訊

3.3.1 網路服務如何配置

啟動網路,就是啟動提供網路服務的各個節點。那麼這些節點如何啟動,需要哪些資訊,由於要啟動多個網路節點,Hyperledger Fabric 採用了容器技術,所以需要一個簡化的方式來集中化管理這這些節點容器,我們使用 docker-compose 這個工具個來實現一步到位的節點容器管理,實現方式只需要編寫相應的配置檔案即可。

Hyperledger Fabric 同樣給我們提供了一個 docker-compose 工具的示例配置檔案,該配置檔案在 fabric-samples/first-network 目錄下,檔名稱為: docker-compose-cli.yaml, 我們開啟這個配置檔案可以看到如下內容:

15087597-cb9de8489649fdab.jpg

該配置檔案中指定了網路中各個節點容器(共計六個容器,一個 Orderer,屬於兩個 Orgs 組織的四個 Peer,還有一個 CLI)的資訊;我們仔細觀察會發現 orderer 與各 peer 容器都設定了container_name 與 networks 資訊;其它資訊都由 extends 指向了 base/docker-compose-base.yaml 檔案。

CLI 容器指定了所代表的 peer 節點

(CORE_PEER_ADDRESS=peer0.org1.example.com:7051),通過 volumes 指定了將系統中的鏈碼、組織結構及證書、生成的配置檔案對映到容器中指定的目錄下。且通過 depends_on 指定了所依賴的相關容器。

3.3.2 關聯的docker-compose-base.yaml

配置檔案

15087597-12ef17334b1506a5.jpg

該配置檔案中指定了 Orderer 與 Peers 節點的相關資訊。

Orderer 設定如下資訊:

environment:指定日誌級別、監聽地址、生成初始區塊的提供方式、初始區塊配置檔案路徑、本地 MSPID 及對應的目錄、開啟 TLS 驗證及對應的證書、私鑰資訊等諸多重要資訊。

working_dir:進入容器後的預設工作目錄

volumes:指定系統中的初始區塊配置檔案、MSP、TLS目錄對映到容器中的指定路徑下。

ports: 指定當前節點的監聽埠。

各 Peers 設定瞭如下資訊:

extends:基本資訊來源於哪個檔案。

environment:指定了容器的的 ID、監聽地址及埠號、本地 MSPID。

volumes:將系統的 msp 及 tls 目錄對映到容器中的指定路徑下。

ports: 指定當前節點的監聽埠。

15087597-cd85a68f97358394.jpg

3.3.3 又被關聯的peer-base.yaml

配置檔案內容如下:

15087597-299f63e0ce4810a9.jpg

該配置檔案設定了所有 peer 容器的基本的共同資訊,日誌級別,是否開啟 TLS 驗證,是否採用 Leader 選舉, 是否將當前節點設為 Leader, TLS 證書、私鑰、根證書的路徑、容器的預設工作路徑、容器啟動命令。

3.3.4 啟動網路

萬事具備,只欠東風,下面我們通過一條命令來方便的啟動 Hyperledger Fabric 網路中所有節點。

15087597-e47e18ec1d86fd87.jpg
15087597-544afdb308092688.jpg
15087597-2e8b4cf21e46134e.jpg

未經授權禁止轉載、改編,轉載請註明出處!

本文地址:https://www.chaindesk.cn/witbook/11/108

ChainDesk——全球區塊鏈技術生態超級社群

以區塊鏈技術為入口,搭建全球區塊鏈技術生態超級社群,社群將服務於公鏈生態建設、DAPP專案研發、技術諮詢、課程體系研發、區塊鏈書籍編寫,區塊鏈課程製作、講師培訓、區塊鏈職業教育、區塊鏈線上教育、去中心化技術評測一體化的區塊鏈技術超級社群。

免費·原創·專業·高效·系統

相關文章