如何在Hyperledger中为新频道创建新对等体

时间:2017-09-28 21:45:18

标签: blockchain hyperledger-fabric hyperledger

我一直在关注Hyperledger的基本网络教程,我正在探索拥有2个对等体和2个频道的可能性,每个频道有一个对等体。

我已经使用configtxgen命令为第二个频道mychannel2.tx创建了一个频道配置文件:

../bin/configtxgen -profile OneOrgChannel -outputCreateChannelTx /config/channel2.tx -channelID mychannel2

但是,我不知道如何创建第二个对等体来添加到此频道。我的猜测是我必须配置crypto-config.yaml文件,但我不知道如何添加同行

但是一旦我添加了一个对等体,我就可以使用basic network tutorial的start.sh脚本来创建一个频道,让第二个对等体像这样加入频道:

# Create the channel
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c mychannel -f /etc/hyperledger/configtx/channel.tx

# Join peer0.org1.example.com to the channel.
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer0.org1.example.com peer channel join -b mychannel.block

1 个答案:

答案 0 :(得分:2)

要创建新的对等体,您只需为其组织签署的对等体生成适当的加密材料。为此,您可以使用cryptogen cli工具,您可以在其中重复使用现有的crypto-config.yaml文件,您需要使用模板定义组织的对等数量以及要生成的用户证书数量:

PeerOrgs:
  - Name: Org1
    Domain: org1.example.com
    Template:
      Count: 2
    Users:
      Count: 1
  - Name: Org2
    Domain: org2.example.com
    Template:
      Count: 2
    Users:
      Count: 1

在上面的示例中,它定义了两个具有两个对等组织的组织,每个组织一个用户。

接下来,你必须定义一个configtxgen的频道来指定你的要求,对于你想要的情况:

  

2个对等体和2个通道,每个通道一个对等体。

因此需要定义将指定这些渠道的配置文件,现在是这些对等体属于同一组织的问题。假设他们来自不同的组织,因此配置将如下所示:

Profiles:

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

现在,您需要为两个通道生成配置事务,以生成创建块并能够加入通道。

FABRIC_CFG_PATH=. configtxgen -profile ChannelOne -channelID channelone -outputCreateChannelTx=channelone.tx

FABRIC_CFG_PATH=. configtxgen -profile ChannelTwo -channelID channeltwo -outputCreateChannelTx=channeltwo.tx

最后,一旦您拥有每个频道的配置事务,您就可以将它们提交给订购服务,创建一个新频道,然后将对等体加入适当的频道。请注意,您无需更改crypto-config.yaml