Как сопоставить транзакции блока CometBFT и результаты исполнения
Блок содержит байты транзакций, а результаты приложения доступны отдельным запросом. Позиция в пределах одного блока связывает две записи.
Загрузите оба ответа для одной высоты
Замените 12000 доступной высотой и укажите HTTP-адрес CometBFT в RPC. Сопоставьте block.data.txs с txs_results и проверьте высоту в обоих ответах.
curl -fsS "$RPC/block?height=12000"
curl -fsS "$RPC/block_results?height=12000"
Если в блоке три транзакции, индекс результата 1 соответствует второй транзакции, тоже с индексом 1. Сохраните code, gas_used и события для этой записи. Нулевой code означает успешное исполнение приложением.
Отделите события уровня блока
В событиях завершения блока может быть работа вне отдельных транзакций. Не приписывайте такие события последней транзакции. Если блок доступен, а результаты отсутствуют, проверьте настройки хранения ответов приложения, прежде чем делать вывод об успешности исполнения. github.com CometBFT RPC