您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Fabric2.0中first-network生成配置的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Fabric2.0中first-network生成配置的示例分析”這篇文章吧。
首先從byfn.sh的腳本可以觀察到,腳本的第一個參數為執行模式,其中模式包含up、down、generate、restart以及upgrade,代表啟動、清除、生成以及升級網絡。這里我們關注的是generate,在generate主要執行兩個function,分別是 generateCerts :生成證書、 generateChannelArtifacts :生成創始區塊與通道文件。
generateCerts :生成證書 詳細來看腳本 主要執行了兩個核心腳本分別是: 1.cryptogen generate --config=./crypto-config.yaml
實現根據crypto-config.yaml 生成證書文件。
2../ccp-generate.sh
生成調用nodejs SDK的相關區塊鏈配置文件。
打開first-network目錄下面的crypto-config.yaml文件。 crypto-config.yaml主要包含的fabric排序節點證書配置以及fabric組織證書配置。
排序節點證書配置 配置了5個排序節點,域名為:Hostname + Domain eg:orderer.example.com
- Name: Orderer Domain: example.com Specs: - Hostname: orderer - Hostname: orderer2 - Hostname: orderer3 - Hostname: orderer4 - Hostname: orderer5
支持其他配置模式如下:
(1)重寫全限定域名
CommonName #默認值為 {{.Hostname}}.{{.Domain}}
OrdererOrgs: - Name: Orderer Domain: example.com Specs: - Hostname: orderer CommonName: myorderer.example.com
(2)替換Specs為Template配置式
#Template 使用模板定義節點 #Count 節點總數 #Start 節點下標起始值 #Hostname 全限定域名 命名格式 #Prefix 默認 peer #Index 取Start值 無配置從1開始自增
OrdererOrgs: - Name: Orderer Domain: example.com Template: Count: 5 Start: 1 Prefix:order # Hostname: {{.Prefix}}{{.Index}} # default
組織證書配置 配置了兩個組織,每個組織2套公私鑰和證書,包含普通User(Admin不包含在計數中)數量為1
PeerOrgs: - Name: Org1 Domain: org1.example.com EnableNodeOUs: true Template: Count: 2 Users: Count: 1 - Name: Org2 Domain: org2.example.com EnableNodeOUs: true Template: Count: 2 Users: Count: 1
#Domain 域名 #Template 參考OrdererOrgs 可替換為Specs配置式 #Users -> Count 添加到管理員的用戶帳戶數 #EnableNodeOUs 允許節點 OUS -> out of service,用于區分clients, admins, peers。假如true會在msp目錄生成config.yaml如下:
此處證書結構不做詳細說明,詳情查看Fabric2.0官方文檔
生成調用nodejs SDK的相關區塊鏈配置文件。此處不作詳細配置說明。
generateChannelArtifacts :生成創始區塊與通道文件
腳本:
configtxgen -profile SampleMultiNodeEtcdRaft -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
由于我接觸Fabric是從2018年開始就是1.x時代,2.x的話完全是沒有接觸,看到上面的shell,明顯就有了點2.0的味道,按照常規套路先看2.0官方文檔解釋:
configtxgen 命令參數的使用在2.0發生了變化,為了方便比較我放一下1.4官方文檔的:
差別在于 創世區塊的網絡共識模式定義變了,刪除了TwoOrgsOrdererGenesis(原本的排序節點創始區塊配置)、SampleDevModeKafka (kafka共識配置)。
剩余的還是解釋一下:
SampleMultiNodeEtcdRaft:用于生成創始區塊的,配合-o一起用,支持etcdraft模式的共識。
TwoOrgsChannel:用于生成通道的。
剩下生成通道的腳本與原先的沒有太大差距此處不作詳細說明,詳情請看官方文檔說明,
通道配置:
TwoOrgsChannel: # 通道聯盟名稱,現在默認是SampleConsortium Consortium: SampleConsortium # 引用ChannelDefaults通道詳細配置 <<: *ChannelDefaults Application: # // 引用ApplicationDefaults <<: *ApplicationDefaults # //通道組織定義 Organizations: - *Org1 - *Org2 Capabilities: <<: *ApplicationCapabilities
通道詳細配置:
Channel: &ChannelDefaults # 通道權限策略 <ALL|ANY|MAJORITY> <sub_policy> Policies: # Who may invoke the 'Deliver' API Readers: Type: ImplicitMeta Rule: "ANY Readers" # Who may invoke the 'Broadcast' API Writers: Type: ImplicitMeta Rule: "ANY Writers" # By default, who may modify elements at this config level Admins: Type: ImplicitMeta Rule: "MAJORITY Admins" # Capabilities describes the channel level capabilities, see the # dedicated Capabilities section elsewhere in this file for a full # description Capabilities: <<: *ChannelCapabilities
上面主要是對通道權限策略配置,其中策略這塊主要有兩種類型:
1.Signature策略
SIGNATURE策略指定通過簽名來對數據進行認證,例如數據必須滿足一定的簽名身份組合 這種策略比較靈活,主要定義MSP主體組合規范。在驗證簽名策略的基礎上,支持AND、OR、NOutOf,可以構建如:‘An admin of org A and 2 other admins, or 11 of 20 org admins’等規范。 2.ImplicitMeta策略
這種策略不如SignaturePolicy靈活,并且只在配置上下文中有效。它不直接進行簽名檢查,而是通過引用其子元素的策略(最終還是通過Signature策略)來進行檢查 檢查結果又Rule限制,它支持默認規則,如:‘A majority of the organization admin policies’。
共識配置
SampleMultiNodeEtcdRaft: <<: *ChannelDefaults Capabilities: # 通道Capabilities 指定2.0 <<: *ChannelCapabilities Orderer: <<: *OrdererDefaults # 排序節點類型etcdraft OrdererType: etcdraft # 系統通道中raft節點配置 raft服務是在order節點內 EtcdRaft: Consenters: - Host: orderer.example.com Port: 7050 ClientTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt ServerTLSCert: crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt Addresses: - orderer.example.com:7050 Organizations: - *OrdererOrg Capabilities: # 排序節點Capabilities 指定2.0 <<: *OrdererCapabilities Application: <<: *ApplicationDefaults Organizations: - <<: *OrdererOrg Consortiums: SampleConsortium: Organizations: - *Org1 - *Org2
以上是“Fabric2.0中first-network生成配置的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。