下面在新创建的联盟中创建channel,顺道测试联盟是否正常
channel的配置文件,依然是在configtx.yaml文件中的Profiles标签下,系统原有的channel是TwoOrgsChannel,现在新增一个TestChannel,与TwoOrgsChannel平级
配置文件修改后,根据该配置生成该channel的创世文件
configtxgen -profile TestChannel -outputCreateChannelTx ./channel-artifacts/testchannel.tx -channelID testchannel
注:上一节操作的是联盟的配置,属于系统channel,是order的创世区块,这里操作的是testchannel是普通channel
进入cli容器
docker exec -it cli bash
创建channel要求必须是联盟中的机构的admin用户,由于TestChannel包含的是org1组织,所以要用org1下的admin用户来操作,cli容器中默认的用户就是peer0.org1的admin,所以无需切换用户,只需要把orderCA的证书导入到环境变量中即可
export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
创建channel,命名为testchannel,此处的命名可以和配置文件中的不同
peer channel create -o orderer.example.com:7050 -c testchannel -f ./channel-artifacts/testchannel.tx --tls --cafile $ORDERER_CA
拿到创世区块
peer channel fetch 0 testchannel.block -o orderer.example.com:7050 -c testchannel --tls --cafile $ORDERER_CA
peer0加入channel
peer channel join -b testchannel.block
使用peer channel list
命令查看该peer加入的channel
切换到org1.peer1
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=peer1.org1.example.com:8051
加入通道
peer channel join -b testchannel.block
转载请注明来源