八、升级chaincode和背书策略
1、为新组织安装 2.0 版本的 chaincode
其他组织的 chaincode 版本号是 1,新组织需要更新此版本的 chaincode,因此为新组织直接安装版本为 2 的 chaincode,省得先安装再升级。
peer chaincode install -n cfistore -v 2 -p github.com/hyperledger/fabric/chaincode/go/cfistore
2、为其他组织安装 2.0 版本 chaincode
登录每个联盟原有组织 cli,逐一进行更新。
docker exec -it cli bash
peer chaincode install -n cfistore -v 2 -p github.com/hyperledger/fabric/chaincode/go/cfistore
peer chaincode upgrade -n cfistore -v 7 -c '{"Args":["init"]}' -o orderer0.fabric.mbfa.cn:7050 -C cfichannel -P "OR ('MbfaMSP.member','MscMSP.member','CfecMSP.member','VteamMSP.member')"
// 查看channel中已经实例化的链码
peer chaincode list --instantiated -C cfichannel
3、升级背书策略
升级背书策略,-v 2 指明版本号,-P “AND (‘MbfaMSP.peer’,’CfecMSP.peer’)”指明新的背书策略(添加了 CfecOrg)。
peer chaincode upgrade -n cfistore -v 2 -c '{"Args":["init"]}' -o orderer0.fabric.mbfa.cn:7050 -C cfichannel -P "AND ('MbfaMSP.peer','CfecMSP.peer')"
peer chaincode upgrade 命令将为区块链新增一个块,可以在其他的 peer 的输出中查看。
查询链码
peer chaincode query -C cfichannel -n cfistore -c '{"Args":["query","a"]}'