Hyperledger结构:通道配置未定义任何通道



我得到了一个基于BYFN样本的项目,但仅限于一个组织。

在应用程序中,当我调用以下代码时:

private Contract getContract(Gateway gw) {
return gw.getNetwork("mychannel").getContract("realchain");
}

产生以下错误:

2019-10-30 09:34:51.433  INFO 23108 --- [nio-8080-exec-3] org.hyperledger.fabric.gateway.Gateway   : Unable to load channel configuration from connection profile:
org.hyperledger.fabric.sdk.exception.NetworkConfigurationException: Channel configuration has no channels defined.
at org.hyperledger.fabric.sdk.NetworkConfig.loadChannel(NetworkConfig.java:519) ~[fabric-sdk-java-1.4.5-20190620.151745-1.jar:na]
at org.hyperledger.fabric.sdk.HFClient.loadChannelFromConfig(HFClient.java:161) ~[fabric-sdk-java-1.4.5-20190620.151745-1.jar:na]
at org.hyperledger.fabric.gateway.impl.GatewayImpl.getNetwork(GatewayImpl.java:258) ~[fabric-gateway-java-1.4.0-20191002.055106-31.jar:na]
...

该应用程序以某种方式自行恢复,但我怀疑这个错误会减缓与账本的整个交互。

此外,如果可能的话,我很乐意保持日志的整洁,没有任何异常。

有人遇到并解决了同样的错误吗?

这是正常行为。如果连接配置文件不包含通道定义,则客户端使用对等定义(目前仅适用于您的客户端身份的组织(,并假设这些对等存在通道。它不应该影响性能。

您可以选择将通道定义添加到连接配置文件中,这将避免出现此日志消息,但我们希望避免这是必要的。

我同意日志中出现的异常给人一种错误的印象,即发生了真正的错误,我已经在当前的开发代码中删除了这个错误。

最新更新