Перейти к содержимому
Глобальный взгляд на цифровые активыГЛОБАЛЬНЫЙ ВЗГЛЯД · МЕСТНЫЙ КОНТЕКСТ
ChainView BTC866CHAIN VIEW
Обучение

Чтение квитанций транзакций и журналов событий

Практика сопоставления статуса исполнения, расхода газа и событий контракта в сетях, совместимых с Ethereum.

Читать на языкеРусский简体中文繁體中文English한국어العربيةEspañol (México)Tiếng Việtไทย
Чтение квитанций транзакций и журналов событий

Оригинальная тематическая иллюстрация: Оригинальная тематическая схема ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0

Запрос и результат

Объект транзакции описывает отправленную команду, квитанция — часть результата исполнения в блоке. Наличие хеша не подтверждает успех. Проверьте сеть, хеш блока и статус. Успешное исполнение не гарантирует задуманный экономический эффект: неверно выбранный контракт тоже способен успешно отработать. Поэтому сопоставьте адрес назначения и содержимое вызова с исходной целью.

Посчитать расход

Лимит газа отличается от фактически использованного объёма. Возьмите использованный газ и эффективную цену; в зависимости от сети возможны дополнительные компоненты. Неудачная операция тоже расходует ресурсы. Сверьте единицы и десятичные разряды с первичными данными. Разница между предварительной оценкой кошелька и итоговой стоимостью не всегда является ошибкой.

Прочитать события

Лог содержит адрес контракта, темы и данные. Знакомое название события не доказывает подлинность токена, поэтому проверьте эмитирующий контракт и правильный ABI. Произвольный код может создать похожее сообщение. Внутренние вызовы из API трассировки не тождественны логам квитанции. Сверяйте события с конечным состоянием и остатком, а не суммируйте все строки без проверки смысла.

Провести учебный разбор

Возьмите известный контракт и тестовую либо малую операцию. Сравните запрос, квитанцию, событие, изменение остатка и комиссию. Зафиксируйте блок и правило подтверждения: до достаточной устойчивости результат может измениться при реорганизации. Удаляйте личные сведения из снимков. Учебный разбор должен помогать пониманию, а не требовать раскрытия ключа или риска значительной суммой.

Источники

  1. Ethereum JSON-RPC receipt API (откроется в новой вкладке)
  2. Ethereum events and logs (откроется в новой вкладке)