Ошибка при вызове чейнкода с помощью пакета SDK для Node.js [TypeError: невозможно прочитать свойство getConnectivityState из undefined]

Не удалось успешно вызвать :: TypeError: невозможно прочитать свойство getConnectivityState из undefined /opt/share/hyperledger/node_modules/fabric-client/lib/EventHub.js:355 если (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

Я использую последнюю версию предварительных требований, как указано в ссылке ниже:

http://hyperledger-fabric.readthedocs.io/en/release-1.1/getting_started.html#install-prerequisites

Кто-нибудь может сказать мне, где я ошибаюсь?

У меня также возникла эта проблема, я думал, что это проблема с неправильной пересылкой порта на хост, но я перенаправил 7050, 7051 и 7053 вручную на Oracle VM, и мне все равно не повезло.

janDro 02.05.2018 23:26
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
1 899
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Я прокомментировал эти строки в 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

@ stackoverflow.com/users/5096693/dikshika-jain См. Мой ответ. stackoverflow.com/a/50153354/8169762

anjy 03.05.2018 12:57
Ответ принят как подходящий

Да, это связано с новой версией grpc, выпущенной 3 дня назад (v1.11.0). Версия контролируется фабричным клиентом и использует самую последнюю доступную версию. Вам необходимо удалить модуль grpc и переустановить его с помощью npm install [email protected]. Это решит проблему. В дальнейшем вам может потребоваться исправить grpc на 1.9.1 в вашем package.json, пока Hyperledger не решит эту проблему.

Справка: https://chat.hyperledger.org/channel/general?msg=FME6aDfnfMexWTm6g

У меня возникла эта проблема, но после перехода на версию 1.9.1 я все еще не могу пройти руководство «Написание своего первого приложения», пожалуйста, дайте мне знать, если сможете. Или посмотрите мой вопрос здесь -> stackoverflow.com/questions/50158509/…

janDro 03.05.2018 18:07

После перехода на [email protected] эта ошибка была решена для меня. Просто закодируйте "grpc":"1.9.1" в package.json и повторно запустите npm install и npm rebuild на всякий случай.

Tim Klein 03.05.2018 20:43

можете ли вы пройти через раздел «Написание своего первого приложения»? Эта ошибка была устранена для меня, но по-прежнему не могу пройти другую ошибку. Я добавил свой package-lock.json в свой вопрос, если вам интересно

janDro 03.05.2018 21:38

изменение "grpc": "1.9.1" в package.json у меня не работает - приходилось ли вам делать что-нибудь еще?

Simon Mullaney 04.05.2018 17:50

Столкнулся с той же проблемой при создании веб-докера отредактировать package.json добавить строку "dependencies": { "grpc": "1.9.1",

построить докер снова выпустить докер сочинять снова! оно работает

Я пытался подключить composer bna к блокчейну IBM, и я попытался установить grpc 1.9.1 .. и даже 1.10.1 .. Я пробовал, как и все, и единственное, что сработало, было делать, как предложил Катаус, я прокомментировал Строки out относятся к состоянию getConnectivity, и, наконец, он подключился к сети блокчейнов IBM, которая была у меня.

Другие вопросы по теме