简介
接下来的命令是通道更新,它会传递到通道的定义中去。实际上,我们在通道创世区块的头部添加了额外的配置信息。注意我们没有编辑创世区块,只是简单的把定义锚节点的增量添加到了链中。
对于在头部添加额外配置信息,在我们动态添加 Org3 中会提及,在这里我们只需要将其理解为更新配置信息会被添加到链中即可。
锚节点配置更新
为 Org1 设置锚节点
更新通道定义,将 Org1 的锚节点定义为 peer0.org1.example.com
先把操作对象转换到peer0.org1
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
CORE_PEER_ADDRESS=peer0.org1.example.com:7051
CORE_PEER_LOCALMSPID="Org1MSP"
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
使用以下命令更新通道定义,将 Org1 的锚节点定义为 peer0.org1.example.com
peer channel update -o orderer.example.com:7050 -c mychannel -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 设置锚节点
操作对象转换到peer0.org2
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:9051
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
使用以下命令更新通道定义,将 Org2 的锚节点定义为 peer0.org2.example.com
peer channel update -o orderer.example.com:7050 -c mychannel -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
总结
我们现在已经为组织 1 和组织 2 分别设置了锚节点(主节点,gossip 协议可以发挥作用了),并将这些锚节点的增量添加到了区块链上(在创世区块头部添加了额外的配置信息),即相当于完成了通道定义的更新。
所有通道的相关准备现在就完成了,下面我们开始在通道上安装链码,终于到链码了(类似于以太坊的智能合约)。