Skip to content

Работа с обозревателем

Как читать транзакцию в обозревателе блоков

Обновлено:

На этой странице

Страница транзакции в обозревателе блоков выглядит как стена технических полей. В статье каждое поле объясняется по очереди, чтобы вы могли ответить на простые вопросы: прошла ли транзакция, кто заплатил, сколько это стоило и что она сделала.

Сначала примеры построены на сетях в стиле Ethereum (Ethereum, Arbitrum, Base, Optimism, Polygon). Дальше показано, чем отличаются Bitcoin и Solana.

Как открыть страницу транзакции

Найти транзакцию можно тремя способами.

  • Вставьте ее хеш в поле поиска в шапке. Хеш — это длинный идентификатор, который в сетях EVM начинается с 0x.
  • Нажмите на транзакцию внутри блока. Откройте сеть на ее странице в реальном времени, например Base, и нажмите на плитку блока.
  • Используйте прямой адрес /chain/<id>/tx/<hash>, где <id> — номер сети, указанный в адресе сайта для этой сети.

Страницы блоков и адресов работают так же. Поиск в шапке принимает также номер блока или адрес.

Поля по порядку

Хеш транзакции (Transaction hash)

Уникальный идентификатор транзакции. Любой, у кого есть хеш, найдет ту же запись. У двух разных транзакций никогда не бывает одинакового хеша.

Статус (Status)

Обычно Success, Failed или Pending. Success означает, что транзакция выполнилась и ее изменения применены. Failed означает, что она включена в блок, но ее действие отклонено, например из-за нехватки газа или правила контракта. Pending означает, что она ждет и еще не в блоке.

Неудавшаяся транзакция все равно стоит комиссии. Сеть проделала работу, пытаясь ее выполнить, поэтому вы платите за газ, использованный до момента сбоя. Больше ничего не меняется: токены или монеты, которые вы собирались отправить, остаются у вас.

Блок и время (Block and timestamp)

Блок (block) — номер блока, в котором находится транзакция. Время (timestamp) — время этого блока. Многие страницы также показывают число подтверждений, то есть сколько блоков пришло после него. См. финальность и подтверждения.

От и кому (From и To)

From — адрес, который подписал и заплатил. To — адрес, получивший вызов. Если адрес «to» — обычный кошелек, это простой перевод. Если это смарт-контракт, транзакция является вызовом контракта, а «to» — это контракт, а не конечный человек, который получит токены.

Значение (Value)

Количество нативной монеты (ETH в Ethereum), отправленное вместе с транзакцией. Для перевода токена, например USDC, значение часто равно 0 ETH, потому что токены перемещаются внутри контракта токена. Реальная сумма указана в разделе переводов токенов.

Комиссия транзакции (Transaction fee)

Общая уплаченная сумма в нативной монете, часто и в долларах. Она равна использованному газу, умноженному на цену газа. В сетях layer 2 комиссия может также включать плату за данные для публикации в Ethereum. Каждая часть описана в статье газ и комиссии.

Лимит газа, использованный газ и цена газа (Gas limit, gas used, gas price)

  • Gas limit: максимум работы, который разрешил отправитель.
  • Gas used: фактически использованная работа. Вы платите за нее, а не за лимит.
  • Gas price: цена за единицу в gwei. На новых страницах она разделена на базовую комиссию, комиссию за приоритет и максимальную комиссию.

Простой перевод ETH использует ровно 21,000 gas. Перевод токена или обмен используют больше.

Nonce

Счетчик транзакций отправителя. Первая транзакция с адреса имеет nonce 0, следующая — nonce 1 и так далее. Транзакции должны включаться по порядку, поэтому одна застрявшая транзакция может блокировать следующие за ней. Повторное использование nonce с более высокой комиссией — это способ, которым кошелек заменяет или отменяет ожидающую транзакцию.

Входные данные (Input data)

Необработанные данные, отправленные контракту. Для простого перевода они пусты. Для вызова контракта они начинаются с короткого кода, называющего функцию, за которым следуют ее аргументы. Обозреватели часто расшифровывают их в читаемый вид, например «transfer» с получателем и суммой.

Логи и события (Logs и events)

Когда контракт выполняется, он может записывать события (events), называемые логами. Контракты токенов отправляют событие «Transfer» каждый раз, когда токены перемещаются. Приложения и обозреватели читают эти логи, чтобы показывать активность. Логи — хорошее доказательство того, что сделал контракт.

Переводы токенов (Token transfers)

Более понятная сводка, составленная из логов: какие токены переместились, с какого адреса, на какой адрес и в каком количестве. Когда вы проверяете платеж, читать нужно эту часть.

Разбор примера: вы получили 25 USDC в Base

Представьте, что друг сказал, что отправил вам 25 USDC в Base, и дал хеш транзакции. Вы ищете его в Base через поиск в шапке. Что покажет страница?

  • Status: Success. Перевод выполнен.
  • Block и timestamp: номер блока и время недавно, с несколькими подтверждениями.
  • From: адрес вашего друга. To: контракт токена USDC, а не ваш адрес. Для перевода токена это нормально.
  • Value: 0 ETH, потому что ETH не перемещался.
  • Token transfers: одна строка, показывающая 25 USDC с адреса друга на ваш адрес. Именно эта строка важна.
  • Transaction fee: совсем небольшая сумма, оплаченная вашим другом в ETH и включающая плату за данные L1, потому что Base — это layer 2.
  • Input data: вызов «transfer» контракта с вашим адресом и суммой в наименьшей единице токена (25 USDC записывается как 25,000,000, поскольку у USDC 6 знаков после запятой).

Если в строке переводов токенов указаны ваш адрес и 25 USDC, вы получили деньги. Если вы видите другой адрес контракта USDC, будьте осторожны: поддельные токены могут использовать то же название. См. стейблкоины.

Ожидающая и подтвержденная

Ожидающая (pending) транзакция разослана, но не включена в блок. Она может ждать, если комиссия слишком низкая. После включения она подтверждена (confirmed), и чем больше блоков над ней, тем безопаснее на нее полагаться. Полная картина — в статье финальность и подтверждения.

Чем отличается Bitcoin

В Bitcoin нет аккаунтов и балансов в смысле Ethereum. Транзакция тратит входы и создает выходы. Вход указывает на более ранний выход, который вы тратите. Выход говорит, сколько и на какой адрес идет.

Вход нужно потратить полностью. Если у вас монета на 0.5 BTC и вы платите 0.1 BTC, у транзакции есть выход на 0.1 BTC получателю и выход сдачи почти на 0.4 BTC обратно вам. Небольшая разница между входами и выходами — это комиссия. Газа, nonce и входных данных такого же вида нет. См. мемпул и комиссии Bitcoin и Bitcoin.

Чем отличается Solana

Транзакция Solana определяется своей подписью (signature), которая служит ее идентификатором. Она содержит список инструкций (instructions), каждая из которых вызывает программу (так в Solana называется смарт-контракт). Одна транзакция может содержать несколько инструкций, например «создать токен-аккаунт» и затем «перевести». Страница показывает комиссию, использованные вычислительные единицы (compute units) и результат каждой инструкции. См. приоритетные комиссии Solana и Solana.

Часто задаваемые вопросы

Что такое хеш транзакции?

Это уникальный идентификатор транзакции. С его помощью вы находите транзакцию в обозревателе блоков.

Почему моя неудавшаяся транзакция все равно стоила комиссии?

Сеть проделала работу, пытаясь ее выполнить, поэтому использованный газ списывается, хотя действие отклонено. Ваши монеты и токены остаются на месте.

Почему в адресе «to» указан контракт, а не получатель?

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

Что значит ожидающая транзакция?

Она разослана, но еще не в блоке. Обычно ей нужна более высокая комиссия или просто немного времени.

Что такое nonce?

Это счетчик того, сколько транзакций отправил адрес. Он сохраняет порядок транзакций и не дает использовать одну и ту же дважды.