最初,我在Hyperledger Fabric区块链网络中有2个组织。最近,我使用swarm在另一台主机上添加了一个组织。当我尝试从第一或第二组织调用chaincode时,它工作正常,并且可以从org3中看到更新的事务。但是,当我从org3调用事务时,出现以下错误。
“ [2019-02-06 06:44:21.895] [错误]调用-交易为 无效,代码= ENDORSEMENT_POLICY_FAILURE”
最初,使用以下策略启动了链码。 -P“ OR('Org1MSP.peer','Org2MSP.peer')”
所以我认为我必须更新现有的认可政策以包括org3。
有人可以帮助修改现有的认可政策或解决问题吗?
答案 0 :(得分:1)
升级链码的方法如下:
在通道中的所有组织上重新安装ccRequest。
例如:peer chaincode install -n mycc -v 2.0 -p github.com/chaincode/chaincode_example02/go/
通过运行upgradeCC命令升级链码
例如:peer chaincode upgrade -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n mycc -v 2.0 -c '{"Args":["init","a","90","b","210"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer','Org3MSP.peer')"
peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'
对链码查询进行测试有关更多详细信息,请参考docs或询问rockerchat
答案 1 :(得分:0)
是的,您可以使用对等链码升级命令来完成。
对等链码升级-o orderer.example.com:7050 --tls --cafile $ ORDERER_CA -C mychannel -n mycc -v 1.2 -c '{“ Args”:[“ init”,“ a”,“ 100”,“ b”,“ 200”,“ c”,“ 300”]}'-P“ AND (“ Org1MSP.peer”,“ Org2MSP.peer”,“ Org3MSP.peer”)”