该通道未配置任何具有“发现”角色的对等方

2024-04-01

我正在尝试从 java Fabric SDK 进行事务处理。我能够从节点正确查询数据,但在执行事务时出现以下错误:

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]

如何为对等方配置“发现”角色?


我一直在使用 Node 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 https://github.com/hyperledger/fabric-sdk-java/blob/master/src/test/fixture/sdkintegration/network_configs/network-config.yaml#L76,你应该尝试添加发现:真实.

然而这里的要点是,这个发现属性默认是 true,所以情况也可能是你可能错过了网络中的对等部分(尽管这是必需的部分,所以发生这种情况的机会也很渺茫) -config 文件,否则您可能会丢失配置CORE_PEER_GOSSIP_EXTERNALENDPOINT在你的 docker 文件中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

该通道未配置任何具有“发现”角色的对等方 的相关文章

随机推荐