如何解决Hyperledger Fabric-离线对等阻止组织连接到网络
我有一个用于Hyperledger Fabric 2.2的测试环境。两个组织,每个组织有2个同行。
我想模拟一个离线对等体,因此出于测试目的,我关闭了peer2-org1
,这导致org1的应用程序损坏。
这是节点应用程序代码,基本上从示例中获取:
this.gateway = new Gateway();
const gatewayOpts = {
wallet: this.wallet,identity: username,discovery: {
enabled: true,asLocalhost: false
}
} as GatewayOptions;
await this.gateway.connect(this.config,gatewayOpts);
this.network = await this.gateway.getNetwork('somechannel');
最后一条命令gateway.getNetwork
引发以下异常:
Error: Failed to connect before the deadline on Discoverer- name: peer2-org1,url:grpcs://peer2-org1:7051,connected:false,connectAttempted:true
at checkState (/usr/src/app/node_modules/@grpc/grpc-js/build/src/client.js:69:26)
at Timeout._onTimeout (/usr/src/app/node_modules/@grpc/grpc-js/build/src/channel.js:292:17)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7) {
connectFailed: true
}
我发现,如果我从peer2-org1
配置对象中删除离线对等体gateway.connect
,则该应用程序将正常运行,如下所示:
(...)
"organizations": {
"org1": {
"mspid": "org1","peers": [
"peer1-org1","peer2-org1"
],"certificateAuthorities": [
"rca-org1"
]
}
},(...)
如果peer2不可用,如何使这项工作并告诉库继续使用peer1?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。