Ошибка ENDORSEMENT_POLICY_FAILURE при вызове функций цепного кода - PullRequest
0 голосов
/ 29 января 2019

При создании кода цепочки без указания политики одобрения, вызов функций в коде цепочки работает нормально, и сохраненные данные можно увидеть в базе данных couchdb.Но при явном указании политики одобрения как «AND ('mohaMSP.peer', 'ecMSP.peer')" во время создания кода цепочки, вызов функций кода цепочки не показывает никаких ошибок, но не обновляет базу данных состояния couchdb.Поэтому я проверил журналы на peer0.moha.nid.com, и он показал следующую ошибку:

2019-01-29 09:46:00.851 UTC [valimpl] preprocessProtoBlock -> WARN cac6 Channel [nid-channel]: Block [7] Transaction index [0] TxId [bfed301afcaae5ad2ee8885c3cdbd39521827b25cabe92d6cf03f931da4ea391] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE]

Я установил код цепи на peer0.ec.nid.com и peer0.moha.nid.com (то есть в обеих организациях) и проверил установку.К nid-каналу подключены три партнера: peer0.moha.nid.com, peer1.moha.nid.com, peer0.ec.nid.com, как показано командой peer channel list.

вот файл docker-compose.yaml для запуска сети

здесь файл docker-compose-base.yaml

здесь аналог-base.yaml file

Я использую контейнеры Fabric 1.2.1 и отметил их как последние.

Команда создания цепочки:

peer chaincode instantiate -o orderer.nid.com:7050 -n car_reg -v 1 -C nid-channel -c '{"Args":[]}' -P "AND ('ecMSP.peer','mohaMSP.peer')"

Ответы [ 3 ]

0 голосов
/ 29 января 2019

Попробуйте:

-P "AND ('ecMSP.member','mohaMSP.member')"

Возможно, ваши коллеги не имеют роли "равноправный".

Проверьте эту документацию: Политика одобрения Идентификационная классификация

0 голосов
/ 30 января 2019

Мне не хватало аргументов --peerAddresses во время вызова функции цепочки кодов.Теперь это решено.Благодаря комментарию @Harshit

peer chaincode invoke -o orderer.nid.com:7050 -C nid-channel -n car_reg --peerAddresses peer0.moha.nid.com:7051 --peerAddresses peer0.ec.nid.com:7051 -c '{"Args":["createCar","1","bmw","tx","blue","me"]}'
0 голосов
/ 29 января 2019
  1. Если вы не указали политику одобрения во время создания экземпляра, по умолчанию для политики одобрения будет «любой член организации в канале».т.е.) "ИЛИ ('mohaMSP.member', 'ecMSP.member')"

  2. Когда вы указываете политику одобрения "AND ('mohaMSP.peer', 'ecMSP.peer')"явно, он запрашивает одну подпись от каждого узла Org (mohaMSP, ecMSP).Поэтому проверьте, есть ли у обеих организаций подтверждающие одноранговые узлы.

Для получения дополнительной информации setting-chaincode-level-endorsement-policy

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