Когда вызывается цепочный код, существует способ вызвать REST API (внешний), чтобы клиентское приложение могло быть уведомлено о новой транзакции.Как уведомить клиентское приложение при вызове цепочки?
Помимо REST, есть ли другой вариант?
Когда вызывается цепочный код, существует способ вызвать REST API (внешний), чтобы клиентское приложение могло быть уведомлено о новой транзакции.Как уведомить клиентское приложение при вызове цепочки?
Помимо REST, есть ли другой вариант?
Это лучше использовать событие https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#35-events
Validating пэр и chaincodes может испускать события в сети, которые приложения могут прослушивающие и принять меры по. Существует набор предопределенных событий, а цепочки могут создавать пользовательские события. События потребляются 1 или более адаптерами событий. Адаптеры могут дополнительно передавать события , используя другие транспортные средства, такие как веб-крючки или Kafka.
Приложение может подписаться на поток событий из Fabric и прослушивать сообщения, генерируемые цепочкой.
Пример того, как работать с событиями можно найти здесь: https://github.com/hyperledger/fabric/tree/master/examples/events/block-listener
Чтобы добавить ответ Сергея, есть 3 типа событий.
Вы можете иметь прослушиватель события/клиент работает на вашем конце, прослушивает порт КПГР, (вы можете получить порт из файла core.yaml) Или вы можете даже обратиться к примеру, о котором упомянул Сергей.
В вашем случае, я предполагаю, что вы ищете успешную транзакцию. В этом случае вы должны прослушивать события BLOCK и события REJECTION. UUID транзакции, который вы получили при запуске вашего вызова, может использоваться для сканирования событий и запуска действия при его совпадении. Также обратите внимание, что если транзакция приводит к СОБЫТИЮ ИЗМЕНЕНИЯ, тогда у нее не было бы БЛОКОВОГО СОБЫТИЯ. Надеюсь, это поможет.
При вызове прослушивателя блоков, я получаю передать идентификатор chaincode. Что это такое? Имя сетевого кода, используемого при развертывании? Или что-то другое? Можете ли вы привести пример? –
Какую информацию я могу получить от события chaincode? Я новичок в гипергедере и голанге. –
Link @ Start: - https://github.com/hyperledger/fabric/blob/c0ce696/docs/protocol-spec.md#35-events – Abhi