在配置TLS后已启动了两个命令行容器:cli-org1和cli-org2,分别代表组织1节点1和组织2节点1的CLI容器
在执行创建通道之前,我们需要先从上一节的orderer节点中生成的channel.tx复制(或下载)到peer1-org1节点上
cp /opt/hyperledger/org0/orderer/channel.tx /opt/hyperledger/org1/peer1/assets/channel.tx
官方手册没说,其实还需要下面这一步,在admin的msp目录下也创建admincerts目录及管理员证书,否则会报administrators must be declared when no admin ou classification is set
这个错误
组织1的管理员
mkdir /opt/hyperledger/org1/admin/msp/admincerts
cp /opt/hyperledger/org1/admin/msp/signcerts/cert.pem /opt/hyperledger/org1/admin/msp/admincerts/org1-admin-cert.pem
组织2的管理员
mkdir /opt/hyperledger/org2/admin/msp/admincerts
cp /opt/hyperledger/org2/admin/msp/signcerts/cert.pem /opt/hyperledger/org2/admin/msp/admincerts/org2-admin-cert.pem
先进入上面刚启动的cli-org1容器
docker exec -it cli-org1 sh
进入容器后,先设置admin的MSP,然后执行创建名为mychannel
的应用通道
export CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/org1/admin/msp
peer channel create -c mychannel -f /opt/hyperledger/org1/peer1/assets/channel.tx -o orderer1-org0:7050 --outputBlock /opt/hyperledger/org1/peer1/assets/mychannel.block --tls --cafile /opt/hyperledger/org1/peer1/tls-msp/tlscacerts/tls-0-0-0-0-7052.pem
生成的mychannel.block是后续节点加入通道的重要文件,因此重点说明下,如果peer节点不在同一台服务器上,需要把mychannel.block文件复制到所有的peer节点中,确保每个peer节点都能访问到它
把组织1中的两个peer节点加入到通道中
export CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/org1/admin/msp
export CORE_PEER_ADDRESS=peer1-org1:7051
peer channel join -b /opt/hyperledger/org1/peer1/assets/mychannel.block
export CORE_PEER_ADDRESS=peer2-org1:7051
peer channel join -b /opt/hyperledger/org1/peer1/assets/mychannel.block
可以通过以下命令查看节点是否加入到应用通道中
peer channel list
成功会有以下提示
另外打开一个shell界面,在进入cli-org2容器前,需要先把组织1的mychannel.block复制到组织2下
cp /opt/hyperledger/org1/peer1/assets/mychannel.block /opt/hyperledger/org2/peer1/assets/mychannel.block
然后进入cli-org2容器中
docker exec -it cli-org2 sh
把组织2中的两个peer节点同样也加入到通道中
export CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/org2/admin/msp
export CORE_PEER_ADDRESS=peer1-org2:7051
peer channel join -b /opt/hyperledger/org2/peer1/assets/mychannel.block
export CORE_PEER_ADDRESS=peer2-org2:7051
peer channel join -b /opt/hyperledger/org2/peer1/assets/mychannel.block
本文由小韦云原创,转载请注明出处:https://www.bctos.cn/doc/14/1908,否则追究其法律责任
关键词:hyperledger channel.tx