使用Node.js SDK调用链码时出错[TypeError:无法读取未定义的属性'GetConnectionVityState'

使用Node.js SDK调用链码时出错[TypeError:无法读取未定义的属性'GetConnectionVityState',node.js,docker-compose,hyperledger-fabric,blockchain,hyperledger,Node.js,Docker Compose,Hyperledger Fabric,Blockchain,Hyperledger,未能成功调用::TypeError:无法读取未定义的属性“GetConnectionyState” /opt/share/hyperledger/node_modules/fabric client/lib/EventHub.js:355 ifself.\u stream state=self.stream.call.channel.getConnectivityState; ^ TypeError: Cannot read property 'getConnectivityState' of

未能成功调用::TypeError:无法读取未定义的属性“GetConnectionyState” /opt/share/hyperledger/node_modules/fabric client/lib/EventHub.js:355 ifself.\u 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
我正在使用以下链接中提到的最新版本的先决条件:


有人能告诉我哪里出了问题吗?

我在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中对这些行进行了注释。 只有状态日志才需要它。 例如:

<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中对该行进行注释后,我仍然发现错误

未能成功调用::TypeError:无法读取未定义的属性“GetConnectionyState”

以前的详细错误:

TypeError:无法读取未定义的属性“getConnectivityState” 在ClientDuplexStream/fabric samples/fabcar/node_modules/fabric client/lib/EventHub.js:308:56 在emitOne事件中。js:116:13 在ClientDuplexStream.emit events.js:211:7 在addChunk\u stream\u readable.js:263:12 在readableAddChunk\u stream\u readable.js:250:11 在ClientDuplexStream.Readable.push\u stream\u Readable.js:208:10 在Object.onReceiveMessage/fabric samples/fabcar/node_modules/grpc/src/client_interceptors.js:1302:19 在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


在对EventHub.js中的行进行了注释之后,我仍然发现以下错误

未能成功调用::TypeError:无法读取未定义的属性“GetConnectionyState”

以前的详细错误:

TypeError:无法读取未定义的属性“getConnectivityState” 在ClientDuplexStream/fabric samples/fabcar/node_modules/fabric client/lib/EventHub.js:308:56 在emitOne事件中。js:116:13 在ClientDuplexStream.emit events.js:211:7 在addChunk\u stream\u readable.js:263:12 在readableAddChunk\u stream\u readable.js:250:11 在ClientDuplexStream.Readable.push\u stream\u Readable.js:208:10 在Object.onReceiveMessage/fabric samples/fabcar/node_modules/grpc/src/client_interceptors.js:1302:19 在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


是的,这是由于3天前发布了新版本的grpc v1.11.0。该版本由fabric client控制,并采用可用的最新版本。您需要删除grpc模块并使用npm install重新安装grpc@1.9.1. 这将解决问题。在Hyperledger解决此问题之前,您可能需要将grpc固定在package.json中的1.9.1

参考:

是的,这是由于3天前发布了新版本的grpc v1.11.0。该版本由fabric client控制,并采用可用的最新版本。您需要删除grpc模块并使用npm install重新安装grpc@1.9.1. 这将解决问题。在Hyperledger解决此问题之前,您可能需要将grpc固定在package.json中的1.9.1

参考:

在构建web docker时面临同样的问题 编辑package.json 添加行 依赖项:{ grpc:1.9.1

重新构建docker
再次发布docker compose!它可以正常工作

在构建web docker时面临同样的问题 编辑package.json 添加行 依赖项:{ grpc:1.9.1

重新构建docker
再次发布docker compose!它有效

我试图将composer bna连接到IBM区块链,并尝试安装grpc 1.9.1..甚至1.10.1..我尝试了一切,唯一有效的是按照Kataus的建议进行,我注释了与getConnectivity状态相关的行,最后它连接到了e我拥有IBM区块链网络。

我试图将composer bna连接到IBM区块链,并尝试安装grpc 1.9.1..甚至1.10.1我有一个ckchain网络。

我也有这个问题,认为是端口没有正确转发到主机的问题,但我在Oracle VM上手动转发了7050、7051和7053,但仍然没有成功。我也有这个问题,认为是端口没有正确转发到主机的问题,但我转发了7050、7051和7053在Oracle虚拟机上手动操作,但仍然不走运。@请参阅我的an
回答。@请参考我的答案。我有这个问题,但在降级到1.9.1后,我仍然无法通过编写您的第一个应用程序教程,如果可以,请告诉我。或者在这里查看我的问题->降级到grpc@1.9.1这个错误为我解决了。只需在package.json中硬编码grpc:1.9.1,然后重新运行npm安装和npm重建,以防万一。您是否能够完成编写第一个应用程序部分?此错误已为我解决,但仍无法通过其他错误。我在我的问题中添加了我的package-lock.json,如果您有兴趣更改package.json中的grpc:1.9.1,那么您是否需要做其他事情?我遇到了这个问题,但在降级到1.9.1后,我仍然无法通过编写您的第一个应用程序教程,如果可以,请告诉我。或者在这里查看我的问题->降级到grpc@1.9.1这个错误为我解决了。只需在package.json中硬编码grpc:1.9.1,然后重新运行npm安装和npm重建,以防万一。您是否能够完成编写第一个应用程序部分?此错误已为我解决,但仍无法通过其他错误。如果您有兴趣,我在问题中添加了我的package-lock.json。在package.json中更改grpc:1.9.1对我不起作用-您还需要做其他事情吗?