使用多通道
$ cd ~/hyfa/fabric-samples/chaincode-docker-devmode
$ sudo docker-compose -f docker-compose-simple.yaml down
$ cd ../first-network
創(chuàng)建一個應(yīng)用通道的配置交易
務(wù)必替換$CHANNEL_NAME或設(shè)置CHANNEL_NAME為可在整個說明中使用的環(huán)境變量
$ export CHANNEL_NAME=mychannel2
指定使用 configtx.yaml 配置文件中的 TwoOrgsChannel 模板, 來生成新建通道的配置交易文件,
$ sudo ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
輸出如下
11:13:24.984 CST [common/tools/configtxgen] main -> INFO 001 Loading configuration
11:13:24.992 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx
11:13:24.993 CST [msp] getMspConfig -> INFO 003 Loading NodeOUs
11:13:24.994 CST [msp] getMspConfig -> INFO 004 Loading NodeOUs
11:13:25.016 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 005 Writing new channel tx
生成錨節(jié)點配置更新文件
錨節(jié)點配置更新文件用來對組織的錨節(jié)點進行配置
同樣基于 configtx.yaml 配置文件生成新建通道文件, 每個組織都需要分別生成且注意指定對應(yīng)的組織名稱
$ sudo ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
$ sudo ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
啟動網(wǎng)絡(luò)
$ sudo docker-compose -f docker-compose-cli.yaml up -d
進入Docker容器
執(zhí)行如下命令進入到CLI容器中
$ sudo docker exec -it cli bash
創(chuàng)建通道
檢查環(huán)境變量是否正確設(shè)置
echo $CHANNEL_NAME
設(shè)置環(huán)境變量
export CHANNEL_NAME=mychannel2
創(chuàng)建通道
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
加入通道
應(yīng)用通道所包含組織的成員節(jié)點可以加入通道中
peer channel join -b mychannel2.block -o orderer:7050
更新錨點
使用Org1的管理員身份更新錨節(jié)點配置
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
使用Org2的管理員身份更新錨節(jié)點配置
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
列出所加入的通道
peer channel list
list命令會列出指定的Peer節(jié)點已經(jīng)加入的所有應(yīng)用通道的列表.