首页 > 解决方案 > 从对等点加入频道时如何启用发现角色

问题描述

尝试使用 Fabric Java SDK 中的 Discovery 服务执行事务时出现以下错误

org.hyperledger.fabric.sdk.exception.ServiceDiscoveryException: The channel is not configured with any peers with the 'discover' role

我使用 peer shell 命令加入频道,而不是 Fabric Java SDK。加入频道后,如何在频道中配置发现角色?

谢谢

标签: hyperledger-fabrichyperledger-fabric-sdk-java

解决方案


我想出了代码的确切缺失部分。希望它可以帮助有类似问题的人。只需将所需的 peerRoles 添加为 @david_k 注释即可:

我有:

channel.addPeer(peer);

并用它替换它解决了这个问题:

channel.addPeer(peer, createPeerOptions().setPeerRoles(EnumSet.of(PeerRole.SERVICE_DISCOVERY, PeerRole.LEDGER_QUERY, PeerRole.EVENT_SOURCE, PeerRole.CHAINCODE_QUERY)));

推荐阅读