Ошибка в совершенном вызове / запросе цепного кода с помощью hyperledger fabri c 2.0 - PullRequest
3 голосов
/ 25 февраля 2020

Я успешно зафиксировал код цепи с помощью команды:

./peer lifecycle chaincode commit -o orderer.example.org:7050 --channelID mychannel --name emp_chaincode --version v1 --sequence 1 --init-required --tls --cafile ./crypto-config/ordererOrganizations/example.org/orderers/orderer.example.org/msp/tlscacerts/tlsca.example.org-cert.pem

Теперь, когда я пытаюсь вызвать / запросить код цепи, я получаю эту ошибку:

Error: endorsement failure during invoke. response: status:500 message:"error in simulation: failed to execute transaction f490a9e7bca41ad10f68306decae2fdd73e09a9d5f81da7c9ee5cdc3811b3f27: invalid invocation: chaincode 'emp_chaincode' has not been initialized for this version, must call as init first"

и в коде цепи Журналы контейнеров, это показывает:

+ CHAINCODE_DIR=/usr/local/src

+ cd /usr/local/src

+ npm start -- --peer.address peer0.org1.example.org:7052


> employee@1.0.0 start /usr/local/src

> node emp_chaincode.js "--peer.address" "peer0.org1.example.org:7052"

2020-02-25T09:28:16.743Z info [c-api:lib/chaincode.js] Registering with peer peer0.org1.example.org:7052 as chaincode "emp_chaincodev1:5bcbed31afc58894912eb4c66d63adcec7eab029e2b911887412b119ef5cf319"

2020-02-25T09:28:16.761Z error [c-api:lib/handler.js] Chat stream with peer - on error: %j "Error: 14 UNAVAILABLE: failed to connect to all addresses\n at Object.exports.createStatusError (/usr/local/src/node_modules/grpc/src/common.js:91:15)\n at ClientDuplexStream._emitStatusIfDone (/usr/local/src/node_modules/grpc/src/client.js:233:26)\n at ClientDuplexStream._receiveStatus (/usr/local/src/node_modules/grpc/src/client.js:211:8)\n at Object.onReceiveStatus (/usr/local/src/node_modules/grpc/src/client_interceptors.js:1311:15)\n at InterceptingListener._callNext (/usr/local/src/node_modules/grpc/src/client_interceptors.js:568:42)\n at InterceptingListener.onReceiveStatus (/usr/local/src/node_modules/grpc/src/client_interceptors.js:618:8)\n at /usr/local/src/node_modules/grpc/src/client_interceptors.js:1127:18"

Пожалуйста, дайте мне знать, как я могу это исправить.

ОБНОВЛЕНИЕ:

После того, как Р. Тэтчер предложил добавить флаг, я получаю ошибку:

Error: endorsement failure during invoke. response: status:500 message:"error in simulation: failed to execute transaction 038b5c303dfdd98db2c2fc0d2eac6146d7221691cbbed7a78227f5a76a31a240: could not launch chaincode emp_chaincodev1:5bcbed31afc58894912eb4c66d63adcec7eab029e2b911887412b119ef5cf319: chaincode registration failed: container exited with 0"

1 Ответ

2 голосов
/ 26 февраля 2020

В самом конце вашей ошибки вы должны сначала вызвать init .

Я думаю, вы использовали команду peer chaincode lifecycle approveformyorg с флагом --init-required. Это означает, что при первом вызове нового цепного кода должен использоваться флаг --isInit, например, peer chaincode invoke -C tradechannel -n trade --isInit .... После этого первого «специального» вызова все остальные вызовы и запросы будут в порядке.

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