【发布时间】:2020-07-01 09:25:03
【问题描述】:
我已将我的背书政策设置为“AND ('Org1MSP.peer','OrgMainMSP.peer')”,这意味着我需要两个组织的证书才能成功执行交易。
交易执行如下:
对等链代码调用 -o orderer0.org.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/org.com/orderers/orderer0.org.com/msp/tlscacerts/tlsca.org.com-cert.pem -n accessControl --peerAddresses peer0.org-main.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org-main.com/peers/peer0.org -main.com/tls/ca.crt --peerAddresses peer0.org1.com:10051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.com/peers/peer0.org1.com/tls/ca。 crt -c '{"Args":[]}'
一切正常。成功提交了一个新块,也可以在 couchdb 上看到。但是,当我发送删除其中一个证书的交易时,如下所示:
"对等链码调用 -o orderer0.org.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/org.com/orderers/orderer0.org.com/msp/tlscacerts/tlsca.org.com-cert.pem -n accessControl --peerAddresses peer0.org-main.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org-main.com/peers/peer0.org -main.com/tls/ca.crt -c '{"Args":[]}' "
新块已通过事务提交,但提交者将其标记为无效,并在日志中显示以下错误消息
peer0.org-main.com | 2020-03-20 07:59:30.868 UTC [vscc] 验证-> ERRO 094 VSCC 错误:stateBasedValidator.Validate 失败,错误 验证 tx 7:0 中链码访问控制的背书策略 失败:签名集不满足策略
peer0.org-main.com | 2020-03-20 07:59:30.868 UTC [valimpl] preprocessProtoBlock -> WARN 097 Channel [myc]: Block [7] Transaction 索引 [0] TxId [01246b27c11f94124aee3c4ac84a011be51a26aaa50fc28f1d6f5f5a8860c079] 提交者标记为无效。原因码 [ENDORSEMENT_POLICY_FAILURE]
peer0.org-main.com | 2020-03-20 07:59:31.156 UTC [kvledger] CommitWithPvtData -> INFO 098 [myc] 已提交块 [7] 与 1 287 毫秒内的事务(state_validation=0 毫秒) block_and_pvtdata_commit=220ms state_commit=17ms) commitHash=[9d52225ddbc8f6f98edd37388cbcf369fea22666b9ec1cff1a91debdebc2d2a1]
当我再次提交通过两个证书的交易时,它会抛出一个错误
错误:无法组装交易:ProposalResponsePayloads 没有 匹配 - 提案响应:版本:1 响应状态:200 有效负载:... >
这里的问题是,如果我错误地调用了仅传递一个组织证书的调用函数(背书策略失败),那么我将无法进行进一步的交易。
【问题讨论】:
标签: hyperledger-fabric hyperledger