Hyperledger fabric 修改现有背书策略(Hyperledger结构)

Hyperledger fabric 修改现有背书策略(Hyperledger结构),hyperledger-fabric,blockchain,ibm-blockchain,Hyperledger Fabric,Blockchain,Ibm Blockchain,最初我在Hyperledger Fabric区块链网络中有2个组织。最近,我使用swarm在另一台主机上又添加了一个组织。当我尝试从第一或第二个组织调用chaincode时,它工作正常,我可以从org3看到更新的事务。但是当我从org3调用一个事务时,我得到了以下错误 “[2019-02-06 06:44:21.895][ERROR]invoke-事务被激活 无效,代码=背书\政策\失败” 最初,chaincode是使用以下策略启动的。 -“或('Org1MSP.peer','Org2MSP.p

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

“[2019-02-06 06:44:21.895][ERROR]invoke-事务被激活 无效,代码=背书\政策\失败”

最初,chaincode是使用以下策略启动的。 -“或('Org1MSP.peer','Org2MSP.peer')”

因此,我认为我必须更新现有的背书政策,以包括org3


是否有人可以帮助修改现有的背书政策或解决此问题?

是的,您可以使用对等链码升级命令来执行此操作

对等链码升级-o order.example.com:7050--tls--cafile $ORDERER\u CA-C mychannel-n mycc-v 1.2-C “{”Args:[“init”,“a”,“100”,“b”,“200”,“c”,“300”]}-P”和 ('Org1MSP.peer'、'Org2MSP.peer'、'Org3MSP.peer')”


请参阅:

升级链码的方法如下:

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

    例如:
    peer-chaincode安装-n mycc-v2.0-p github.com/chaincode/chaincode\u example02/go/
    

  • 创建新的ccPolicy,制定正确的规则,包含所需的组织作为背书人
  • 通过运行upgradeCC命令升级链码

    例如:
    peer-chaincode-upgrade-o order.example.com:7050--tls$CORE\u peer\u tls\u ENABLED--cafile$order\u CA-C$CHANNEL\u NAME-n mycc-v2.0-C'{“Args”:[“init”,“a”,“90”,“b”,“210”]}-p”或('Org1MSP.peer','Org2MSP.peer','Org3MSP.peer')

    • 使用对具有
      对等链码查询-C$CHANNEL_NAME-n mycc-C'{“Args”:[“query”,“a”]}的链码的查询进行测试
      
有关更多详细信息,请参阅或询问