configtx.yaml中的每个定义在Hyperledger fabric v1.0中的含义是什么?

时间:2017-05-28 21:14:07

标签: networking hyperledger hyperledger-fabric topology consensus

这与Hyperledger fabric v1.0网络拓扑有关。 从示例中,configtx.yaml包含以下定义:

Profiles:

    TwoOrgsOrdererGenesis:
        Orderer:
            <<: *OrdererDefaults
            Organizations:
                - *OrdererOrg
        Consortiums:
            SampleConsortium:
                Organizations:
                    - *Org1
                    - *Org2
    TwoOrgsChannel:
        Consortium: SampleConsortium
        Application:
            <<: *ApplicationDefaults
            Organizations:
                - *Org1
                - *Org2

主要有两个部分。

  1. TwoOrgsOrdererGenesis 这定义了订货人服务和创世块详细信息。
  2. TwoOrgsChannel 这定义了频道详细信息。例如,有多少组织/实体将成为渠道的一部分。
  3. 我从文档中了解到,Consortiums部分定义了组织/实体属于联盟的内容。

    我的问题:

    1. Consortium的作用是什么?
    2. Consortium实体是否可以为其运行对等节点?
    3. 如果是,如何在此yaml文件中配置?
    4. &lt;&lt ;: line?
    5. 的含义是什么?
    6. 在此背景下的应用是什么?
    7. 我可以在此yaml文件中定义多个配置文件吗?
    8. 感谢任何人都能详细解释。

3 个答案:

答案 0 :(得分:1)

我的问题:

联盟的作用是什么?

  

财团由组织组成。而组织包含   同行或者订货人。一个渠道与一个财团匹配但只有一个   财团可以与许多财团相匹配。

Consortium实体是否可以为其运行对等节点? 如果是,如何在这个yaml文件中配置?

  

不,但如果你想定义联盟,你必须得到MSP   的组织。

&lt;&lt ;: line?

的含义是什么?
  

这是一个YAML语法。

在这种情况下应用是什么?

  

Node.js应用程序之类的频道应用程序。但是现在我的频道没有这个部分。

我可以在这个yaml文件中定义多个配置文件吗?

  抱歉,我不明白你要为什么定义个人资料。

答案 1 :(得分:1)

回复“我可以在此yaml文件中定义多个配置文件吗?”答案是肯定的。 如您在示例file中所见,此处定义了多个配置文件。

配置文件用于定义创世块的配置并定义第一个通道配置事务。在您提供的代码中,TwoOrgsOrdererGenesis应该用作configtxgen命令的参数

configtxgen -profile SampleSingleMSPSolo -channelID sys-channel -outputBlock ./channel-artifacts/genesis.block

而第二个用于生成渠道交易的工件

configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID channel-name

在上面的文件中,您可以检查一些不同的配置...我认为这是了解网络配置的一个很好的起点,而我仍然想充分了解这一点。

答案 2 :(得分:0)

关于“ <<:行的含义是什么?”

yaml文件语法:-

“&”标记节点的别名(在您的示例中,“&default”将开发节点别名为“ default”),*表示别名为“ default”的节点。 <<:插入该节点的内容。

在以下情况下使用此类型引用:-重复的节点(对象)首先由锚点(标记为“&”的符号)标识,然后再别名(以星号-“ *”引用)。