官术网_书友最值得收藏!

Fabric區塊鏈網絡配置主要指系統通道(system channel)配置。系統通道配置主要定義了整個網絡的所有聯盟和orderer組織的信息,該配置作為第一個塊,即創世紀塊,在啟動網絡時被用作整個網絡的基礎配置。這里,我們從配置來源的角度講述系統通道配置。生成系統通道配置的文件為configtx.yaml,參見sampleconfig/configtx.yaml,基本結構如圖2-1所示。

圖2-1 系統通道配置文件基本結構

在圖2-1中,要理解configtx.yaml文件,除需理解YAML的基礎知識外,重點需要理解configtx.yaml文件中“錨節點和引用”的用法,如第2行和第15行,使用類似于C語言中的取地址符號“&”,定義了錨節點SampleOrg、ChannelDefaults。引用錨節點共有兩種方式,如第18行,在該處插入ChannelDefaults所有的下級配置項;如第21行,在該處直接插入SampleOrg配置項。

configtx.yaml文件主要由configtxgen程序使用,該程序使用Profiles下的配置項。Profiles下的配置項代表一個完整的通道配置,由configtxgen -profile指定。Profiles下的配置項更多通過引用上文定義的各類配置,匯總成自己的配置。該文件中主要的配置項含義如下。

●Organizations,定義了聯盟所有成員的配置,如名稱、MSP ID、MSP目錄、組織策略、錨節點,包括peer組織、orderer組織。

●Capabilities,定義了關于通道、節點的服務能力。Fabric從0.6.x版本開始迭代,至現在的2.0版本,各版本在數據結構、服務流程的兼容性等方面存在一定問題。例如A企業所使用的節點版本是1.4.x,而與之處于同一網絡中的B企業所使用的節點版本則是2.0,在這種情況下,由Capabilities規定通道或節點必須實現的對應版本的服務能力,如圖2-1中第4~5行,定義了通道具有Fabric 2.0的服務能力。

●Application,定義了應用通道中的公用配置。例如圖2-1中第7行,定義了應用通道的ACL(Access Control List,訪問控制列表)策略;第8行,定義了應用通道中的組織,由于每個通道的組織不一樣,所以這里自然是空的,在下文使用的時候單獨配置;第9行,定義了應用通道的基本策略;第10行,定義了應用通道的版本服務能力。

●Orderer,定義了系統通道中的公用配置。系統通道主要提供共識排序服務,輔以創建應用通道的職責。因此,這里主要定義了供共識排序服務使用的各種配置,如圖2-1中第13行,定義了塊的大?。坏?4行,定義了etcdraft類型的共識排序服務的配置。

●Channel,定義了通道的公共配置。這個通道配置可用于系統通道,也可用于應用通道。

●Profiles,利用已定義的各類配置,根據需要進行組合,形成一個完整的通道配置,并通過configtxgen工具生成對應配置文件。例如圖2-1中第17行,用于生成一個聯盟中只有一個SampleOrg組織的系統通道配置(創世紀塊,啟動orderer集群時使用)。系統通道配置和應用通道配置的區別,在于系統通道會定義聯盟,如圖2-1中第22~23行,定義了名為SampleConsortium的聯盟的成員組成。

主站蜘蛛池模板: 南郑县| 金川县| 涡阳县| 涡阳县| 隆尧县| 翁牛特旗| 新乐市| 同仁县| 远安县| 新乡市| 石楼县| 铜梁县| 阿拉善左旗| 宜州市| 托克托县| 同德县| 宁陵县| 富平县| 南靖县| 德昌县| 息烽县| 舟曲县| 台北县| 南宫市| 东兰县| 洪泽县| 平和县| 若尔盖县| 汾阳市| 沁水县| 仪征市| 永新县| 南部县| 汉中市| 大英县| 遂宁市| 通山县| 驻马店市| 凭祥市| 安徽省| 什邡市|