Ошибка Hyperledger Fabri c: набор подписей не удовлетворяет политике - PullRequest
0 голосов
/ 28 января 2020

Я создал сетевую конфигурацию с 2-мя оргами, каждая с 1 пиром и CA. Я успешно установил и создал экземпляр моего цепного кода на обоих узлах. Но после вызова транзакции эта ошибка возникает на обоих узлах:

peer0.org1.example.com|2020-01-27 21:32:00.531 UTC [committer.txvalidator] validateTx -> ERRO 047 VSCCValidateTx for transaction txId = d18ad9c8c5e6aada47b7c8677676b4d748bf2ae16256c093ae8f9dfb0bf17779 returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy
peer0.org2.example.com|2020-01-27 21:32:00.531 UTC [committer.txvalidator] validateTx -> ERRO 069 VSCCValidateTx for transaction txId = d18ad9c8c5e6aada47b7c8677676b4d748bf2ae16256c093ae8f9dfb0bf17779 returned error: VSCC error: endorsement policy failure, err: signature set did not satisfy policy

Вот как я установил цепной код на обоих узлах:

peer chaincode install -n mycc -v 1.0 -l node -p /opt/gopath/src/github.com/mychaincodes/

именно так я и создал свой контракт

peer chaincode instantiate -o orderer.example.com:7050 --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -l node -v 1.0 -c '{"Args":[]}' -P "AND ('Org1MSP.member','Org2MSP.member')"

и вот так я вызвал транзакцию

peer chaincode invoke -o orderer.example.com:7050 --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/ca/ca.example.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem -c '{"Args":["createMyAsset","001","Model X"]}'

Заранее спасибо

1 Ответ

1 голос
/ 29 января 2020

Во время создания кода цепочки вы указываете политику одобрения для этого кода цепочки как "AND ('Org1MSP.member','Org2MSP.member')", что означает, что одноранговые узлы обеих организаций должны подтвердить транзакцию.

Тогда вы подключаетесь только к peer0.org1.example.com:7051 во время вызова кода цепочки .

Чтобы это работало, вы должны либо изменить политику одобрения на "OR ('Org1MSP.member','Org2MSP.member')", либо подключиться к партнерам в обеих организациях при вызове цепного кода, добавив еще одну запись --peerAddresses ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...