我一直在关注Hyperledger的基本网络教程,我正在探索有2个对等方和2个频道的可能性,每个通道为一个对等。
我已经使用configTxgen's命令为第二个频道创建了一个名为 mychannel2.tx
的频道配置文件:
../bin/configtxgen -profile OneOrgChannel -outputCreateChannelTx /config/channel2.tx -channelID mychannel2
但是,我不确定如何创建第二个对等式以添加到此频道中。我的猜测是我必须配置crypto-config.yaml
文件,但是我不确定如何添加peer 。
但是,一旦添加了一个对等,我应该能够使用基本网络教程的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
要创建一个新的同行,您只需要为其组织签署的同伴生成适当的加密材料即可。为此,您可以使用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
在上面的示例中,它定义了两个有两个对等方和每个org的用户。
接下来,您必须定义一个用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
。