0

我创建了一个有 2 个组织的网络,每个组织有 1 个同行和 1ca

设置 EnableNodeOUs:true 后,我使用“AND ('Org1MSP.peer','Org2MSP.peer')”实例化合约,效果很好。与“AND('Org1MSP.member','Org2MSP.member')”相同。

但是在将策略设置为“AND ('Org1MSP.client','Org2MSP.client')”后,会出现以下错误:

peer0.org2.example.com|2020-01-30 07:21:49.745 UTC [vscc] Validate -> ERRO 07c VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
peer0.org2.example.com|2020-01-30 07:21:49.745 UTC [committer.txvalidator] validateTx -> ERRO 07d VSCCValidateTx for transaction txId = fd5124b081e92586f091f54e517030ebaeb28fddc71428df32c82cce636a94cd returned error: validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
peer0.org1.example.com|2020-01-30 07:21:49.745 UTC [vscc] Validate -> ERRO 086 VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
peer0.org1.example.com|2020-01-30 07:21:49.745 UTC [committer.txvalidator] validateTx -> ERRO 087 VSCCValidateTx for transaction txId = fd5124b081e92586f091f54e517030ebaeb28fddc71428df32c82cce636a94cd returned error: validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy

这是我的 NodeOU 的 config.yml 文件

NodeOUs:
  Enable: true
  ClientOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: client
  PeerOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: peer
  AdminOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: admin
  OrdererOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: orderer

提前致谢

4

1 回答 1

0

如评论中所述,您提交启动交易的身份类型是“管理员”。但是,您的策略要求身份类型为“客户”。因此,错误。

要解决此问题,您需要创建身份类型为“客户”的身份,并使用该身份的 msp 提交启动事务。

于 2020-01-31T07:32:33.403 回答