修改现有的背书策略(Hyperledger Fabric)
Modify existing endorsement policy (Hyperledger Fabric)
我最初在 Hyperledger Fabric 区块链网络中有 2 个组织。最近我使用 swarm 在另一台主机上添加了一个组织。当我尝试从第一个或第二个组织调用链代码时,它工作正常,我可以看到来自 org3 的更新事务。但是当我从 org3 调用事务时,出现以下错误。
"[2019-02-06 06:44:21.895] [ERROR] invoke - The transaction was
invalid, code = ENDORSEMENT_POLICY_FAILURE"
最初,链代码是使用以下策略启动的。
-P"OR ('Org1MSP.peer','Org2MSP.peer')"
所以我想我必须更新现有的认可政策以包括 org3。
任何人都可以帮助修改现有的背书政策或解决问题吗?
是的,您可以使用对等链代码升级命令来做到这一点。
peer chaincode upgrade -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')"
链码升级方式如下:
- 增加包含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 or ask on rockerchat
我最初在 Hyperledger Fabric 区块链网络中有 2 个组织。最近我使用 swarm 在另一台主机上添加了一个组织。当我尝试从第一个或第二个组织调用链代码时,它工作正常,我可以看到来自 org3 的更新事务。但是当我从 org3 调用事务时,出现以下错误。
"[2019-02-06 06:44:21.895] [ERROR] invoke - The transaction was invalid, code = ENDORSEMENT_POLICY_FAILURE"
最初,链代码是使用以下策略启动的。 -P"OR ('Org1MSP.peer','Org2MSP.peer')"
所以我想我必须更新现有的认可政策以包括 org3。
任何人都可以帮助修改现有的背书政策或解决问题吗?
是的,您可以使用对等链代码升级命令来做到这一点。
peer chaincode upgrade -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')"
链码升级方式如下:
- 增加包含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 or ask on rockerchat