При создании кода цепочки без указания политики одобрения, вызов функций в коде цепочки работает нормально, и сохраненные данные можно увидеть в базе данных 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')"