如何解决网关发现在不同情况下会产生不同的错误
在我正在使用的当前Fabric设置中,我有一台VM运行三个订购者,三个对等端及其随附的CouchDB和客户端,以及一个CA。
在同一台VM上,我基于off-chain-data sample运行用NodeJS编写的侦听器。我的代码是here。
我的问题是关于线路
await gateway.connect(ccp,{ wallet,identity: sdkUser,discovery: { enabled: false,asLocalhost: false } })
当我使用enabled: true,asLocalhost: true
运行此侦听器时,我没有遇到任何错误,并且侦听器可以按预期运行。
使用enabled: true,asLocalhost: false
时,发现服务无法连接到我的三个订购者中的两个(如下所示),但是仍然可以拾取块数据:
Adding listener for channel dsprintchannel
2020-10-16T15:28:49.749Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Committer- name: orderer2.isprint.com:7050,url:grpcs://orderer2.isprint.com:7050,connected:false,connectAttempted:true
2020-10-16T15:28:49.751Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server orderer2.isprint.com:7050 url:grpcs://orderer2.isprint.com:7050 timeout:3000
2020-10-16T15:28:49.751Z - error: [DiscoveryService]: _buildOrderer[dsprintchannel] - Unable to connect to the discovered orderer orderer2.isprint.com:7050 due to Error: Failed to connect before the deadline on Committer- name: orderer2.isprint.com:7050,connectAttempted:true
2020-10-16T15:28:52.753Z - error: [ServiceEndpoint]: Error: Failed to connect before the deadline on Committer- name: orderer3.isprint.com:7050,url:grpcs://orderer3.isprint.com:7050,connectAttempted:true
2020-10-16T15:28:52.753Z - error: [ServiceEndpoint]: waitForReady - Failed to connect to remote gRPC server orderer3.isprint.com:7050 url:grpcs://orderer3.isprint.com:7050 timeout:3000
2020-10-16T15:28:52.753Z - error: [DiscoveryService]: _buildOrderer[dsprintchannel] - Unable to connect to the discovered orderer orderer3.isprint.com:7050 due to Error: Failed to connect before the deadline on Committer- name: orderer3.isprint.com:7050,connectAttempted:true
[dsprintchannel]: Listening for block events,nextblock: 7
当enabled: false
(此时asLocalhost
的值似乎无关紧要)时,每个单个通道栏都会显示如下错误,并且只有该特定通道isprintchannel
的事件才会显示拿起:
Adding listener for channel hsprintchannel
2020-10-16T15:33:34.165Z - error: [BlockEventSource]: Failed to start event service message=No targets provided,stack=Error: No targets provided
at EventService.setTargets (/root/nodejs/node_modules/fabric-common/lib/EventService.js:113:10)
at EventServiceManager.newEventService (/root/nodejs/node_modules/fabric-network/lib/impl/event/eventservicemanager.js:70:22)
at EventServiceManager.newDefaultEventService (/root/nodejs/node_modules/fabric-network/lib/impl/event/eventservicemanager.js:51:21)
at BlockEventSource.start (/root/nodejs/node_modules/fabric-network/lib/impl/event/blockeventsource.js:59:58)
at BlockEventSource.addBlockListener (/root/nodejs/node_modules/fabric-network/lib/impl/event/blockeventsource.js:41:20)
at IsolatedBlockListenerSession.start (/root/nodejs/node_modules/fabric-network/lib/impl/event/isolatedblocklistenersession.js:15:32)
at Object.addListener (/root/nodejs/node_modules/fabric-network/lib/impl/event/listenersession.js:14:23)
at process._tickCallback (internal/process/next_tick.js:68:7)
[hsprintchannel]: Listening for block events,nextblock: 5
Adding listener for channel isprintchannel
[isprintchannel]: Listening for block events,nextblock: 50
Adding listener for channel jsprintchannel
2020-10-16T15:33:34.221Z - error: [BlockEventSource]: Failed to start event service message=No targets provided,stack=Error: No targets provided
at EventService.setTargets (/root/nodejs/node_modules/fabric-common/lib/EventService.js:113:10)
at EventServiceManager.newEventService (/root/nodejs/node_modules/fabric-network/lib/impl/event/eventservicemanager.js:70:22)
at EventServiceManager.newDefaultEventService (/root/nodejs/node_modules/fabric-network/lib/impl/event/eventservicemanager.js:51:21)
at BlockEventSource.start (/root/nodejs/node_modules/fabric-network/lib/impl/event/blockeventsource.js:59:58)
at BlockEventSource.addBlockListener (/root/nodejs/node_modules/fabric-network/lib/impl/event/blockeventsource.js:41:20)
at IsolatedBlockListenerSession.start (/root/nodejs/node_modules/fabric-network/lib/impl/event/isolatedblocklistenersession.js:15:32)
at Object.addListener (/root/nodejs/node_modules/fabric-network/lib/impl/event/listenersession.js:14:23)
at process._tickCallback (internal/process/next_tick.js:68:7)
[jsprintchannel]: Listening for block events,nextblock: 8
我的crypto-config.yaml
是here,我的configtx.yaml
是here。我使用this设置订购者,使用this设置同行(和CouchDB)。我也使用不同的YAML文件设置了客户端和CA,但这些与该问题可能无关。问题是,我刚开始学习Fabric时就继承了这些文件,所以我不确定错误在哪里。
- 设置中的哪些问题导致网关发现以这种方式运行?
- 我应该如何解决这些问题?
- 是否有关于如何从头开始建立网络的文档或建议的做法? (我尝试过BYFN教程,但是很难遵循,我也不知道该从中学到什么)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。