Канал не настроен ни с какими одноранговыми узлами с ролью «обнаружения» - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь выполнить транзакцию из SDK Java Fabric. Я могу правильно запросить данные с узла, но при выполнении транзакции я получаю следующую ошибку:

org.hyperledger.fabric.sdk.exception.ServiceDiscoveryException: The channel is not configured with any peers with the 'discover' role
    at org.hyperledger.fabric.sdk.Channel.sendTransactionProposalToEndorsers(Channel.java:3955) ~[fabric-sdk-java-1.4.5.jar:na]
    at org.hyperledger.fabric.gateway.impl.TransactionImpl.sendTransactionProposal(TransactionImpl.java:155) ~[fabric-gateway-java-1.4.0.jar:na]
    at org.hyperledger.fabric.gateway.impl.TransactionImpl.submit(TransactionImpl.java:91) ~[fabric-gateway-java-1.4.0.jar:na]
    at org.hyperledger.fabric.gateway.impl.ContractImpl.submitTransaction(ContractImpl.java:50) ~[fabric-gateway-java-1.4.0.jar:na]

Как настроить одноранговые узлы с ролью «обнаружение»?

1 Ответ

0 голосов
/ 06 ноября 2019

Я использовал SDK для узла, но, согласно ресурсам Java, которые я прошел, вы, должно быть, использовали файл 'network-config' (. Yaml / .json) для подключения вашего приложения (через sdk). с вашей сетью. В нем будет присутствовать одноранговая секция, которая определена так: https://github.com/hyperledger/fabric-sdk-java/blob/master/src/test/fixture/sdkintegration/network_configs/network-config.yaml#L76,, там вы должны попытаться добавить Discover: true .

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

...