簡體   English   中英

Hyperledger Fabric中有序生成模塊的重要性是什么?

[英]What is the importance of orderer genesis block in Hyperledger Fabric?

構建您的第一個網絡文檔。
TwoOrgsOrdererGenesis: generates the genesis block for a Solo ordering service.
TwoOrgsChannel: generates the genesis block for our channel, mychannel.

mychannel.tx是通道中的創世塊,任何想要加入該通道的對等方都需要此。

在完整的教程中,一旦創建了順序生成塊,就永遠不會使用它。 還有,除了通道分類帳以外,是否還存在其他區塊鏈?

此訂購者創始塊是否需要系統通道?

在構建您的第一個網絡文檔。

讓我從這里指向官方文檔開始

TwoOrgsOrdererGenesis:為Solo訂購服務生成創世塊。 TwoOrgsChannel:為我們的頻道mychannel生成創世塊。

這是造成混淆的根源,實際上, TwoOrgsChannel配置文件會生成配置事務,該事務已提交給系統通道,並且其中包括形成新通道所需的配置。 諸如渠道策略和渠道聯盟的成員,順便說一句,它們必須是在系統渠道的創世塊內定義的聯盟的子集。

mychannel.tx是通道中的創世塊,任何想要加入該通道的對等方都需要此。

這是配置事務,將提交給訂購服務,這樣它將創建一個新通道並為新通道返回創世塊,以便對等方可以使用它來加入它。

在完整的教程中,一旦創建了順序生成塊,就永遠不會使用它。 還有,除了通道分類帳以外,是否還存在其他區塊鏈?

它總是用於引導您的訂購服務節點,例如在關閉或重新啟動之后。

此訂購者創始塊是否需要系統通道?

實際上,使用該創世塊引導了系統通道。 現在要完成@Narendranath Reddy的回答,創世塊包含聯盟信息,他稱之為網絡定義,基本上它包含組織根CA的所有證書。 因此,允許初始化通道MSP並使用那些根CA證書來驗證ACL,認可和客戶端簽名。

好的問題,謝謝@Shubham Chadokar

需要Channel.tx,其中包含通道策略信息

加入時,我們將需要包含網絡配置的最新塊,以便將對等方加入通道。

請參閱下面的詳細信息

聲明1

mychannel.tx是通道中的創世塊,任何想要加入該通道的對等方都需要此。

回答

注意mychannel.tx is not the genesis block

我想強調genesis.block mychannel.tx之間的區別

  • genesis.block是HLF網絡的配置(包含網絡定義)

  • mychannel.tx >>>初始二進制配置定義(包含可簽名的通道定義)

訂購系統渠道 :訂購者維護允許創建渠道的所有組織的詳細清單。 該組織列表稱為“聯盟”,該列表本身保留在“訂購者系統渠道”的配置中。

現在,有趣的部分是mychannel.tx內部的內容

  • mychannel.tx是一個二進制文件
  • 可以使用protolator命令對該文件進行解碼:

步驟1 :GOTO fabricsamples / bin ./configtxlator開始

步驟2 :轉到mychannel.tx文件位置,然后發出以下命令

curl -X POST --data-binary @ mychannel.tx http://127.0.0.1:7059/protolator/decode/common.Envelope > mychannel.json

文件mychannel.tx其是由configtxgen工具產生的common.Envelope包含common.ConfigUpdate對象進行解碼的結果。 此對象具有“payload.data” JSON對象中的名稱“config_update”。

這是用作創建新通道的模板源所需要的對象。 common.ConfigUpdate是將由所有組織簽名並提交給訂購者以創建新通道的對象。

mychannel.tx包含mychannel的讀/寫集

結果:

{“ channel_id”:“ mychannel”,“ read_set”:{“ groups”:{“ Application”:{“ groups”:{“ Org1MSP”:{}}}}},“ values”:{“ Consortium”:{“ value“:{” name“:” SampleConsortium“}}}},” write_set“:{” groups“:{” Application“:{” groups“:{” Org1MSP“:{}},” mod_policy“:”管理員“,” policies“:{” Admins“:{” policy“:{” type“:3,” value“:{” rule“:” MAJORITY“,” sub_policy“:” Admins“}}},”讀者“ :{“ policy”:{“ type”:3,“ value”:{“ sub_policy”:“ Readers”}}},“ Writers”:{“ policy”:{“ type”:3,“ value”:{ “ sub_policy”:“ Writers”}}}},“ version”:“ 1”}},“ values”:{“ Consortium”:{“ value”:{“ name”:“ SampleConsortium”}}}}}


我對genesis.block執行了相同的操作,請檢查此http://ideone.com/L1hcRX ,其中包含genesis.block為包含所有網絡信息的json格式。


聲明2 :完整的教程一經創建,就不再使用。 還有,除了通道分類帳以外,是否還存在其他區塊鏈?

回答

希望您現在掌握了足夠的信息。 創世紀阻止的主要目的是網絡配置,一旦網絡啟動並運行,我們將不再使用,除非您加入了包含訂購者的新組織,您可以使用舊的創世紀。稍后阻止它將從其他訂購者獲取最新的配置。


此訂購者創始塊是否需要系統通道?


訂購者創始塊是系統通道的創始塊,因為它是網絡的基本配置塊。 它是由訂購者管理員管理的特殊渠道,其中包括允許創建渠道的組織的列表。

訂購者系統通道的創世塊很特殊:必須先創建它並將其包含在節點的配置中,然后才能啟動節點

最重要的是,訂購系統通道包含用於定義聯盟中的組織的加密材料:根證書和管理證書。 他們允許組織加入新渠道而無需每次都提供新的加密材料。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM