Error invoking chaincode using Node.js SDK [TypeError: Cannot read property 'getConnectivityState' of undefined]
Error invoking chaincode using Node.js SDK [TypeError: Cannot read property 'getConnectivityState' of undefined]
未能成功调用:: TypeError:无法读取未定义的属性 'getConnectivityState'
/opt/share/hyperledger/node_modules/fabric-client/lib/EventHub.js:355
if(self._stream) state = self.stream.call.channel.getConnectivityState();
^
TypeError: Cannot read property 'getConnectivityState' of undefined
at ClientDuplexStream.<anonymous> (/opt/share/hyperledger/node_modules/fabric-client/lib/EventHub.js:355:56)
at emitOne (events.js:116:13)
at ClientDuplexStream.emit (events.js:211:7)
at ClientDuplexStream._emitStatusIfDone (/opt/share/hyperledger/node_modules/grpc/src/client.js:236:12)
at ClientDuplexStream._readsDone (/opt/share/hyperledger/node_modules/grpc/src/client.js:201:8)
at /opt/share/hyperledger/node_modules/grpc/src/client_interceptors.js:705:15
我正在使用下面提到的最新版本的先决条件 link:
http://hyperledger-fabric.readthedocs.io/en/release-1.1/getting_started.html#install-prerequisites
有人能告诉我哪里错了吗?
我在 EventHub.js
中评论了这些行。
仅状态日志需要它。
例如:
<br/>
<i> var state = -1;<br/>
//if(self._stream) state = self._stream.call.channel_.getConnectivityState();<br/>
logger.debug('on.data - grpc stream state :%s',state);<br/>
</i><br/><br/>
现在可以正常使用了。
评论 EventHub.js
中的行后,我仍然遇到以下错误
Failed to invoke successfully :: TypeError: Cannot read property 'getConnectivityState' of undefined
之前的详细错误:
TypeError: Cannot read property 'getConnectivityState' of undefined
at ClientDuplexStream. (/fabric-samples/fabcar/node_modules/fabric-client/lib/EventHub.js:308:56)
at emitOne (events.js:116:13)
at ClientDuplexStream.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at ClientDuplexStream.Readable.push (_stream_readable.js:208:10)
at Object.onReceiveMessage (/fabric-samples/fabcar/node_modules/grpc/src/client_interceptors.js:1302:19)
at InterceptingListener.recvMessageWithContext (/fabric-samples/fabcar/node_modules/grpc/src/client_interceptors.js:629:19)
at /fabric-samples/fabcar/node_modules/grpc/src/client_interceptors.js:728:14
是的,这是由于 grpc 3 天前发布的新版本 (v1.11.0)。该版本由 fabric-client 控制,它采用最新的可用版本。您需要删除 grpc 模块并使用 npm install grpc@1.9.1
重新安装它。这将解决问题。展望未来,您可能需要在您的 package.json 中将 grpc 固定为 1.9.1,直到 Hyperledger 解决此问题。
参考:
https://chat.hyperledger.org/channel/general?msg=FME6aDfnfMexWTm6g
构建网络时遇到同样的问题docker
编辑 package.json
添加行
"dependencies":{
"grpc" : "1.9.1",
再次构建 docker
发出 docker compose agin !有效
我试图将 composer bna 连接到 IBM 区块链,我尝试安装 grpc 1.9.1.. 甚至 1.10.1.. 我尝试了所有的东西,唯一有效的是做Kataus 建议,我注释掉了与 getConnectivity 状态相关的行,它最终连接到我拥有的 IBM 区块链网络。
未能成功调用:: TypeError:无法读取未定义的属性 'getConnectivityState' /opt/share/hyperledger/node_modules/fabric-client/lib/EventHub.js:355 if(self._stream) state = self.stream.call.channel.getConnectivityState(); ^
TypeError: Cannot read property 'getConnectivityState' of undefined
at ClientDuplexStream.<anonymous> (/opt/share/hyperledger/node_modules/fabric-client/lib/EventHub.js:355:56)
at emitOne (events.js:116:13)
at ClientDuplexStream.emit (events.js:211:7)
at ClientDuplexStream._emitStatusIfDone (/opt/share/hyperledger/node_modules/grpc/src/client.js:236:12)
at ClientDuplexStream._readsDone (/opt/share/hyperledger/node_modules/grpc/src/client.js:201:8)
at /opt/share/hyperledger/node_modules/grpc/src/client_interceptors.js:705:15
我正在使用下面提到的最新版本的先决条件 link:
http://hyperledger-fabric.readthedocs.io/en/release-1.1/getting_started.html#install-prerequisites
有人能告诉我哪里错了吗?
我在 EventHub.js
中评论了这些行。
仅状态日志需要它。
例如:
<br/>
<i> var state = -1;<br/>
//if(self._stream) state = self._stream.call.channel_.getConnectivityState();<br/>
logger.debug('on.data - grpc stream state :%s',state);<br/>
</i><br/><br/>
现在可以正常使用了。
评论 EventHub.js
中的行后,我仍然遇到以下错误Failed to invoke successfully :: TypeError: Cannot read property 'getConnectivityState' of undefined
之前的详细错误:
TypeError: Cannot read property 'getConnectivityState' of undefined at ClientDuplexStream. (/fabric-samples/fabcar/node_modules/fabric-client/lib/EventHub.js:308:56) at emitOne (events.js:116:13) at ClientDuplexStream.emit (events.js:211:7) at addChunk (_stream_readable.js:263:12) at readableAddChunk (_stream_readable.js:250:11) at ClientDuplexStream.Readable.push (_stream_readable.js:208:10) at Object.onReceiveMessage (/fabric-samples/fabcar/node_modules/grpc/src/client_interceptors.js:1302:19) at InterceptingListener.recvMessageWithContext (/fabric-samples/fabcar/node_modules/grpc/src/client_interceptors.js:629:19) at /fabric-samples/fabcar/node_modules/grpc/src/client_interceptors.js:728:14
是的,这是由于 grpc 3 天前发布的新版本 (v1.11.0)。该版本由 fabric-client 控制,它采用最新的可用版本。您需要删除 grpc 模块并使用 npm install grpc@1.9.1
重新安装它。这将解决问题。展望未来,您可能需要在您的 package.json 中将 grpc 固定为 1.9.1,直到 Hyperledger 解决此问题。
参考: https://chat.hyperledger.org/channel/general?msg=FME6aDfnfMexWTm6g
构建网络时遇到同样的问题docker 编辑 package.json 添加行 "dependencies":{ "grpc" : "1.9.1",
再次构建 docker 发出 docker compose agin !有效
我试图将 composer bna 连接到 IBM 区块链,我尝试安装 grpc 1.9.1.. 甚至 1.10.1.. 我尝试了所有的东西,唯一有效的是做Kataus 建议,我注释掉了与 getConnectivity 状态相关的行,它最终连接到我拥有的 IBM 区块链网络。