создание цепочки кода: Ошибка чтения из порта ip:;Ошибка RPC: код = отменено desc = контекст отменен.без докера - PullRequest
1 голос
/ 25 апреля 2019

У меня есть сеть фабрики гиперледжеров, с одним заказчиком и одним партнером, заказчиком в организации-заказчике (OrdererOrg) и партнером в одноранговой организации (Org1).Я могу запустить как заказчик, так и одноранговый узел, создать канал, и одноранговый узел может присоединиться к каналу.

Далее я могу установить код цепи на узле однорангового узла.Однако, когда я пытаюсь создать экземпляр цепного кода, на терминале заказчика появляется сообщение WARN

2019-04-25 16: 48: 08.203 EDT [orderer.common.broadcast] Handle -> WARN01a Ошибка чтения из 127.0.0.1:33340: ошибка rpc: code = отменено desc = контекст отменен

На одноранговом терминале и исполняющем терминале нет сообщения об ошибке, и это показывает, что команда была выполнена успешно.

instantiate может загрузить докер-контейнер для цепного кода.

Я могу увидеть образы докера, запустив docker image ls, он показывает два образа докера

myfn-peer1-mycc-1.0-6ec0d4e71b402887d447e77b3b23b0ab860673e40ec5750a912a2faffe0158cf

hyperledger / fabric-javaenv

Следующая цепочка, при которой я не получаю код запроса, я не пытаюсьнайдено.

peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'

Ошибка: ошибка подтверждения во время запроса.ответ: статус: 500 сообщение: «убедитесь, что цепочечный код mycc был успешно создан и повторите попытку: цепочечный код mycc не найден»

Я не уверен, чего не хватает, я проверил настройки и окружениепеременные и все, кажется, правильно.

1 Ответ

1 голос
/ 26 апреля 2019

Полагаю, ваш Peer может создать инстанцированную транзакцию и отправить ее заказчику. Заказчик, с другой стороны, создает блок и отправляет его равноправному узлу. Однако одноранговый узел не может получить блок и сохранить его в регистре, в этом случае вы сможете снова и снова создавать экземпляр вашего цепного кода. И если вы попытаетесь запросить, вы получите

Ошибка: ошибка подтверждения во время запроса. ответ: статус: 500 сообщение: «убедитесь, что цепочечный код mycc был успешно создан и повторите попытку: цепочечный код mycc не найден»

Артем Баргер упоминал в своем ответе , однако в этом ответе не нужно устанавливать конечную точку службы заказа на orderer.7050.

Решение этой проблемы заключается в том, что заказчик использует протокол сплетен для отправки блоков своим партнерам. Убедитесь, что в вашей конфигурации вы правильно установили протокол сплетни (core.peer.gossip).

peer:
    gossip:
        bootstrap: 127.0.0.1:7051
        externalEndpoint: 127.0.0.1:7051
        useLeaderElection: true
        orgLeader: false

Это должно решить проблему.

...