Как вы знаете, существует вероятность иметь несколько транзакций в одном блоке, в зависимости от размера пакета и конфигурации заказчика.
Мне нужно сделать только один вызов, чтобы вернуть все транзакции внутри блока, а не одну за другой.
Я мог бы получить одну транзакцию с помощью queryTransaction, используя Fabric SDK.
как
let response_payload = await channel.queryTransaction(trxnID, peer);
Первый подход: реализовать функцию chanincode и передать номер блока, который приходит из eventHub, по методу, затем внутри цепочки кодов получить все идентификаторы транзакций, а затем сделать запрос, чтобы найти все транзакции, а затем объединить все вместе как результат.
Второй подход:
получить блок внутри с помощью фабрики sdk, а затем проанализировать все подписанные предложения в содержимом блока.
Третий подход:
получить блок внутри с помощью фабрики sdk, затем получить идентификаторы транзакций или ключи в полезной нагрузке, а затем выполнить запрос базы данных couch для получения всего содержимого.
Какой подход, по вашему мнению, является более разумным, если нет, каково ваше предложение?