【问题标题】:Hyperledger endorsement policy and invoking chaincode error (no updating the ledger)超级账本背书政策和调用链码错误(不更新账本)
【发布时间】:2021-07-28 20:05:07
【问题描述】:

我使用的是 Hyperledger Fabric 1.4.8

我已经使用以下命令部署了一个链代码:

peer chaincode install -n davidcodeEndorseAnd -v vAlfaBeta1 -p github.com/chaincode/chaincode_example02/go/

peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n davidcodeEndorseAnd -v vAlfaBeta1 -c '{"Args":["init","a","0","b","10000"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"

背书参数:AND ('Org1MSP.peer','Org2MSP.peer')。

当我尝试使用以下命令调用链代码时,我收到 200 响应,但值未更新:

peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C mychannel -n davidcodeEndorseAnd  -c '{"Args":["invoke","a","b","900"]}

执行输出:

root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n davidcodeEndorseAnd -c '{"Args":["query","a"]}'
0

root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C mychannel -n davidcodeEndorseAnd -c '{"Args":["invoke","b","a","900"]}'
2021-07-28 19:55:55.757 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200 

root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n davidcodeEndorseAnd -c '{"Args":["query","a"]}'
0

注意:我使用的是结构样本的链码示例:/fabric-samples/chaincode/chaincode_example02/go

我尝试了以下调用命令但没有成功:

peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n davidcodeEndorseAnd --peerAddresses peer0.org1.example.com:7051 --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles "/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --tlsRootCertFiles "/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"Args":["invoke","a","b","100"]}'

执行的输出:

Error: error sending transaction for invoke: could not send: EOF - proposal response: version:1 response:<status:200 > payload:"\n \014IU\017b\363\352\2260\301%\347+\032sv\264s\256\232\004z\017\251\210\016\347\273\354\357\356\353\022\221\001\ng\022@\n\023davidcodeEndorseAnd\022)\n\007\n\001a\022\002\010\016\n\007\n\001b\022\002\010\016\032\t\n\001a\032\004-100\032\n\n\001b\032\00510100\022#\n\004lscc\022\033\n\031\n\023davidcodeEndorseAnd\022\002\010\016\032\003\010\310\001\"!\022\023davidcodeEndorseAnd\032\nvAlfaBeta1" endorsement:<endorser:"\n\007Org1MSP\022\252\006-----BEGIN CERTIFICATE-----\nMIICKDCCAc6gAwIBAgIQWdbqnSydfjum3L3K+6YISTAKBggqhkjOPQQDAjBzMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu\nb3JnMS5leGFtcGxlLmNvbTAeFw0yMTA3MjgxNzU2MDBaFw0zMTA3MjYxNzU2MDBa\nMGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\nYW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcx\nLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkcU5Enp3gwei\nAM4r7IHPbIjaEI+AH+tM2teIZDHGJGDjeBtjA/vLSH2ngb/9H9DiG2agKmTHJsif\nHxppCcUuJqNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j\nBCQwIoAgnaRyyHIgBgevWkF1kAgjunZH1joAPFpRTZ2gy+X2RLIwCgYIKoZIzj0E\nAwIDSAAwRQIhAOyZZ+sdZg+S+HgyRqg7lO716OYc59/Yc9Iuabvs+h7ZAiBFIN2J\n3894dwxHteNaD9+FF6HNklKt9tWPnKdJ4szuOQ==\n-----END CERTIFICATE-----\n" signature:"0D\002 :\252\206j`\345\0217\362:\233\330\262\313\325\201\367\245q\331\014\264\017Z\3037\022J\276\2455n\002 t9\227AW-M\311\024\200\324\242E\300\026w\000enJN\340\253vR\316*\204\2309Z\202" > 
root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# 

【问题讨论】:

    标签: hyperledger-fabric hyperledger


    【解决方案1】:

    我已成功更新账本:

    Org1下的执行输出:

    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n davidcodeEndorseAnd -c '{"Args":["query","a"]}'
    -10
    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n davidcodeEndorseAnd --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","b","a","100"]}' 
    2021-07-28 20:17:56.431 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200 
    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n davidcodeEndorseAnd -c '{"Args":["query","a"]}'
    90
    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# 
    

    Org2 下的查询执行:

    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n davidcodeEndorseAnd -c '{"Args":["query","a"]}'
    90
    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C mychannel -n davidcodeEndorseAnd -c '{"Args":["query","b"]}'
    9910
    root@50179e3b3e32:/opt/gopath/src/github.com/hyperledger/fabric/peer# 
    

    问题是我错过了调用命令的 orderer 的以下参数:

    --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      相关资源
      最近更新 更多