Невозможно создать цепной код для приложения переноса баланса - PullRequest
0 голосов
/ 15 ноября 2018

Я попытался выполнить шаги здесь , чтобы создать цепной код. Обратите внимание, что я использую NodeJ (и опускаю свой фактический токен ниже):

curl -s -X POST \
  http://localhost:4000/channels/mychannel/chaincodes \
  -H "authorization: Bearer <put JSON Web Token here>" \
  -H "content-type: application/json" \
  -d '{
    "chaincodeName":"mycc",
    "chaincodeVersion":"v0",
    "chaincodeType": "node",
    "args":["a","100","b","200"]
}'

но я получаю эту ошибку в окне, работающем node app:

[2018-11-15 00:46:54.627] [INFO] instantiate-chaincode - instantiate proposal was good
[2018-11-15 00:46:54.628] [ERROR] instantiate-chaincode - instantiate proposal was bad
[2018-11-15 00:46:54.628] [DEBUG] instantiate-chaincode - Failed to send Proposal and receive all good ProposalResponse
[2018-11-15 00:46:54.628] [ERROR] instantiate-chaincode - Failed to instantiate. cause:Failed to send Proposal and receive all good ProposalResponse
(node:73116) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 7): Error: Failed to instantiate. cause:Failed to send Proposal and receive all good ProposalResponse

Я вставил полный лог сюда . Может кто-нибудь помочь мне, как это исправить? Я выполнил все действия, описанные в ссылке , и без проблем:

  • Зарегистрируемый пользователь Джим
  • создание канала
  • присоединение пиров в Org1 к каналу
  • установка цепного кода на одноранговые узлы в Org1

Далее я могу видеть контейнер с именем dev-peer0.org1.example.com-mycc-v0, который вместе с журналом отладки предполагает, что цепной код был создан на peer0, но почему он не создается на peer1?

Что означают эти порты в docker-compose.yaml ?

peer0.org1.example.com:
    container_name: peer0.org1.example.com
    ports:
      - 7051:7051
      - 7053:7053


  peer1.org1.example.com:
    container_name: peer1.org1.example.com
    ports:
      - 7056:7051
      - 7058:7053

1 Ответ

0 голосов
/ 16 ноября 2018

Я попробовал сегодня снова с модификацией, которую я указал равноправно, как показано ниже:

curl -s -X POST \
  http://localhost:4000/channels/mychannel/chaincodes \
  -H "authorization: Bearer <put JSON Web Token here>" \
  -H "content-type: application/json" \
  -d '{
    "peers": ["peer1.org1.example.com"],
    "chaincodeName":"mycc",
    "chaincodeVersion":"v0",
    "chaincodeType": "node",
    "args":["a","100","b","200"]
}'

и на этот раз это удалось:

{"success":true,"message":"Successfully instantiate chaincode in organization Org1 to the channel 'mychannel'"}

в терминале приложения узла:

[2018-11-15 22:12:26.463] [INFO] instantiate-chaincode - The chaincode instantiate transaction has been committed on peer localhost:7051
[2018-11-15 22:12:26.463] [INFO] instantiate-chaincode - Transaction 979eeb030e6adf9689f39163192fbb9bcba00e6942ef4d1ea6de10d982d234fe has status of VALID in blocl 1
[2018-11-15 22:12:26.464] [INFO] instantiate-chaincode - The chaincode instantiate transaction was valid.
[2018-11-15 22:12:26.464] [DEBUG] instantiate-chaincode - ------->>> R E S P O N S E : ["The chaincode instantiate transaction was valid.",{"status":"SUCCESS","info":""}]
[2018-11-15 22:12:26.465] [INFO] instantiate-chaincode - Successfully sent transaction to the orderer.
[2018-11-15 22:12:26.467] [DEBUG] instantiate-chaincode - Event results for event hub :localhost:7051
[2018-11-15 22:12:26.468] [DEBUG] instantiate-chaincode - The chaincode instantiate transaction was valid.
[2018-11-15 22:12:26.468] [INFO] instantiate-chaincode - Successfully instantiate chaincode in organization Org1 to the channel 'mychannel'

Понятия не имею, почему вчера он потерпел неудачу и сегодня преуспел.

Также, когда я первоначально сделал запрос curl сегодня, он не удался, потому что токен JWT истек. Чтобы обновить токен, я сделал запрос к конечной точке /users, как и вчера, чтобы зарегистрировать пользователя вчера (за исключением этого времени, когда пользователь уже был зарегистрирован)

curl -s -X POST http://localhost:4000/users -H "content-type: application/x-www-form-urlencoded" -d 'username=Jim&orgName=Org1'

ниже показаны контейнеры:

$ docker ps --format '{{.Names}}'
dev-peer1.org1.example.com-mycc-v0
dev-peer0.org1.example.com-mycc-v0
peer1.org2.example.com
peer0.org2.example.com
peer0.org1.example.com
peer1.org1.example.com
ca_peerOrg1
ca_peerOrg2
orderer.example.com

и журналы из контейнера, в котором создается цепной код: Журналы $ docker -f dev-peer1.org1.example.com-mycc-v0

> example_cc@1.0.0 start /usr/local/src
> node example_cc.js "--peer.address" "peer1.org1.example.com:7052"

E1115 22:12:23.956612869      17 ssl_transport_security.cc:238] Could not get common name of subject from certificate.
========= example_cc Init =========
{ fcn: 'node', params: [ 'a', '100', 'b', '200' ] }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...