Как сопоставить транзакции блока 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