#node.js #hyperledger-fabric #blockchain
#node.js #hyperledger-fabric #блокчейн
Вопрос:
В моем цепном коде я создаю событие с помощью следующей команды
ctx.stub.setEvent('sampleEvent', 'somedata');
Я хочу прослушать это событие в клиентском приложении, используя Node SDK.
У меня есть следующие вопросы,
-
Нужно ли мне использовать ChannelEventHub?
-
Если да, то откуда мне это импортировать / потребовать?
-
Какой модуль npm мне нужен?
-
Я полагаю, что channelEventHub имеет метод registerChaincodeEvent, есть ли какие-либо примеры того, как его использовать?
Ответ №1:
Я могу настоятельно рекомендовать эту страницу. Там вы также найдете руководства по его реализации.
Пакет, отвечающий за ChannelEventHub, является fabric-клиентом.
npm install fabric-client
И использование этого в коде:
var Fabric_Client = require('fabric-client');
Также вы, вероятно, захотите установить fabric-ca-client для регистрации пользователей. Как указано выше, вы найдете все необходимое на странице по предоставленной первой ссылке.
Надеюсь, это поможет!
Комментарии:
1. Это было то же самое руководство, которому я следовал, и, поскольку оно не помогло, я пришел сюда с просьбой о помощи. Но, тем не менее. вы сняли некоторые сомнения. Спасибо. И этот урок не очень полезен.
2. В руководстве говорится, что нужно использовать const channel_event_hub = channel.newChannelEventHub(‘peer0.org1.example.com ‘); Даже не упоминая, откуда импортировать канал. И затем, когда я импортировал канал из модуля Fabric-Client и попытался создать экземпляр ChannelEventHub с помощью данной команды, я получаю следующую ошибку TypeError: channel.newChannelEventHub не является функцией.
3. Поиграв с функциями модуля, я обнаружил, что это правильная команда для создания экземпляра ChannelEventHub —> const channelEventHub = new ChannelEventHub(‘mychannel’,’peer0.org1.example.com ‘); ChannelEventHub был импортирован из клиентского модуля Fabric. Надеюсь, это поможет всем, кто пытается зарегистрироваться для событий цепного кода.