修改现有的认可政策(Hyperledger Fabric)

时间:2019-02-06 07:27:01

标签: hyperledger-fabric blockchain ibm-blockchain

最初,我在Hyperledger Fabric区块链网络中有2个组织。最近,我使用swarm在另一台主机上添加了一个组织。当我尝试从第一或第二组织调用chaincode时,它工作正常,并且可以从org3中看到更新的事务。但是,当我从org3调用事务时,出现以下错误。

  

“ [2019-02-06 06:44:21.895] [错误]调用-交易为   无效,代码= ENDORSEMENT_POLICY_FAILURE”

最初,使用以下策略启动了链码。  -P“ OR('Org1MSP.peer','Org2MSP.peer')”

所以我认为我必须更新现有的认可政策以包括org3。

有人可以帮助修改现有的认可政策或解决问题吗?

2 个答案:

答案 0 :(得分:1)

升级链码的方法如下:

  • 增加包含ccPackage的ccRequest的版本
  • 在通道中的所有组织上重新安装ccRequest。

    例如:peer chaincode install -n mycc -v 2.0 -p github.com/chaincode/chaincode_example02/go/

  • 使用包含所需组织作为背书人的正确规则创建新的ccPolicy。
  • 通过运行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”)”

引用:peer chaincode upgrade