Прямой ответ
Blockchain-эксплорер — это веб-интерфейс к полному узлу, который индексирует блоки и транзакции. Чтобы прочитать транзакцию, достаточно вставить её хеш (txid) в строку поиска. Эксплорер покажет отправителя, получателя, сумму, комиссию, статус (подтверждена или нет) и количество подтверждений. Для Bitcoin ключевые поля — входы (inputs), выходы (outputs), размер в байтах и ставка комиссии в sat/vB. Для Ethereum — газ, цена газа, nonce, статус выполнения и логи смарт-контракта.
Популярные эксплореры и их различия
| Сеть | Эксплорер | Особенности |
|---|---|---|
| Bitcoin | mempool.space | Визуализация мемпула, прогноз комиссии, RBF-статус |
| Bitcoin | blockchain.com | Простой интерфейс, подходит для быстрой проверки |
| Ethereum | etherscan.io | Декодирование input data, трассировка внутренних транзакций |
| Ethereum | eth.blockscout.com | Открытый код, поддержка тестовых сетей |
| Ethereum | ethplorer.io | Акцент на токенах ERC-20 и портфелях |
Все они показывают одни и те же данные из блокчейна, но отличаются подачей: mempool.space лучше для анализа комиссии и мемпула, Etherscan — для работы со смарт-контрактами.
Анатомия транзакции Bitcoin
Поля и структура записи в эксплорере
Когда вы открываете транзакцию в эксплорере, видите следующие данные:
- TxID (Transaction ID) — SHA-256 хеш сериализованной транзакции. Уникальный идентификатор, по которому ищется запись.
- Status — «Confirmed» или «Unconfirmed». Неподтверждённая транзакция находится в мемпуле и ещё не включена в блок.
- Confirmations — количество блоков, добавленных после того, в который вошла транзакция. Одно подтверждение означает, что транзакция в последнем блоке.
- Timestamp — время включения в блок (не время создания транзакции).
- Fee — комиссия, которую заплатил отправитель. Разница между суммой входов и суммой выходов.
- Fee rate — комиссия за виртуальный байт (sat/vB). Определяет приоритет в мемпуле.
- Size / Virtual size (vsize) — фактический размер транзакции в байтах и виртуальный размер с учётом witness-данных SegWit.
Входы и выходы (UTXO-модель)
Bitcoin работает по модели UTXO (Unspent Transaction Output). Каждая транзакция потребляет один или несколько предыдущих выходов и создаёт новые.
Вход (Input) содержит:
- Ссылку на предыдущую транзакцию и номер выхода (txid:vout).
- Скрипт разблокировки (подпись + публичный ключ или witness-данные для SegWit).
Выход (Output) содержит:
- Сумму в сатоши.
- Скрипт блокировки (обычно P2PKH, P2SH, P2WPKH или P2TR).
Если сумма входов превышает сумму выходов, разница — комиссия майнеру. Явного поля «комиссия» в самой транзакции нет; эксплорер вычисляет её как разницу.
Пример чтения транзакции в mempool.space
- Вставьте txid в поиск.
- Вверху — статус и количество подтверждений.
- Секция «Inputs» показывает адреса-источники и суммы.
- Секция «Outputs» — адреса-получатели и суммы.
- Если один из выходов возвращается на адрес, похожий на адрес отправителя, это сдача (change). Кошелёк создаёт новый адрес для сдачи автоматически.
- Вкладка «Details» показывает fee rate, размер и RBF-флаг.
Если транзакция помечена как RBF (Replace-By-Fee), отправитель может заменить её на новую с более высокой комиссией, пока она не подтверждена. Подробнее об этом механизме — в материале Зависшая транзакция Bitcoin: как работают RBF и CPFP и когда они не помогут.
Скрипты блокировки и типы адресов
Эксплорер показывает тип скрипта в каждом выходе. Понимание типа помогает определить, какой формат адреса использован:
| Тип скрипта | Формат адреса | Пример |
|---|---|---|
| P2PKH | Начинается с 1 | 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa |
| P2SH | Начинается с 3 | 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy |
| P2WPKH (SegWit v0) | Начинается с bc1q | bc1qp6ejw8ptj9l9pkscmlf8fhhkrrjeawgpyjvtq8 |
| P2TR (Taproot) | Начинается с bc1p | bc1p... |
Тип скрипта влияет на размер транзакции и, соответственно, на комиссию: SegWit-транзакции занимают меньше виртуальных байт при том же количестве входов и выходов.
Анатомия транзакции Ethereum
Поля записи в Etherscan
- TxHash — Keccak-256 хеш транзакции. Аналог txid в Bitcoin.
- Status — «Success» или «Failed». В отличие от Bitcoin, транзакция может быть подтверждена, но завершиться ошибкой выполнения (например, revert в смарт-контракте). Газ при этом всё равно списывается.
- Block — номер блока, в который вошла транзакция.
- Timestamp — время создания блока.
- From — адрес отправителя (EOA или контракт).
- To — адрес получателя или адрес контракта, который вызывается.
- Value — количество ETH, переданное напрямую.
- Transaction Fee — произведение использованного газа на эффективную цену газа.
- Gas Price / Effective Gas Price — цена за единицу газа. После EIP-1559 состоит из base fee (сжигается) и priority fee (чаевые валидатору).
- Gas Limit — максимальное количество газа, которое отправитель готов потратить.
- Gas Used — фактически израсходованный газ.
- Nonce — порядковый номер транзакции отправителя. Гарантирует уникальность и порядок.
- Input Data — произвольные данные вызова. Для перевода ETH это пустое поле; для вызова контракта — закодированный ABI-вызов (селектор функции + аргументы).
Чтение Input Data
Если транзакция взаимодействует со смарт-контрактом, поле Input Data содержит:
- Первые 4 байта — селектор функции (хеш сигнатуры).
- Остальное — аргументы, закодированные по стандарту ABI.
Etherscan автоматически декодирует input для верифицированных контрактов и показывает имя функции и параметры в читаемом виде. Если контракт не верифицирован, вы увидите только сырые шестнадцатеричные данные.
Пример: вызов функции
transfer(address,uint256) на контракте ERC-20 будет иметь селектор 0xa9059cbb, за которым следуют 32 байта адреса получателя и 32 байта суммы.Внутренние транзакции (Internal Transactions)
Когда смарт-контракт вызывает другой контракт или отправляет ETH, это не создаёт отдельную транзакцию в блокчейне. Такие переводы фиксируются как внутренние транзакции и видны на отдельной вкладке в Etherscan. Они не имеют собственного хеша — только трассировочный путь (trace).
Внутренние транзакции важны при анализе: если вы видите, что баланс адреса изменился, но в списке обычных транзакций нет соответствующей записи, проверьте вкладку Internal Txns.
Логи событий (Event Logs)
Смарт-контракты генерируют события (events), которые записываются в логи блока. В эксплорере они отображаются на вкладке «Logs». Каждый лог содержит:
- Адрес контракта.
- Топики (topics) — до 4 хешей, первый из которых — сигнатура события.
- Данные (data) — неиндексируемые параметры.
Логи — основной способ отследить, что произошло внутри контракта: перевод токена, создание пары, минт NFT и т. д. Например, стандартное событие
Transfer в ERC-20 имеет сигнатуру Transfer(address,address,uint256) и генерирует три топика: хеш сигнатуры, адрес отправителя и адрес получателя, а сумма хранится в поле data.Проверка количества подтверждений
Количество подтверждений — это глубина блока в цепочке. Для Bitcoin общепринятые ориентиры:
| Подтверждений | Уровень уверенности |
|---|---|
| 0 | Транзакция в мемпуле, может быть заменена (RBF) или отброшена |
| 1 | Включена в блок, но реорганизация возможна |
| 3 | Практически необратима для малых сумм |
| 6 | Стандарт для бирж и крупных сумм |
Для Ethereum финальность наступает через 2 эпохи (64 блока, ~12,8 минут) после The Merge. До этого момента теоретически возможна реорганизация, хотя на практике она крайне маловероятна для глубоких блоков.
Как найти транзакцию по адресу или сумме
Эксплореры позволяют искать не только по хешу:
- По адресу — вставьте адрес кошелька, и вы увидите все входящие и исходящие транзакции. В Bitcoin это может быть неполная картина, если кошелёк использует множество адресов (что нормально для HD-кошельков).
- По блоку — укажите номер или хеш блока, чтобы увидеть все транзакции в нём.
- По токену (Ethereum) — в Etherscan можно найти контракт токена и посмотреть все его переводы.
Для Bitcoin-кошельков с множеством адресов эксплорер покажет только те транзакции, которые связаны с конкретным введённым адресом. Чтобы увидеть полную картину, нужно знать все адреса кошелька или использовать дескриптор.
Типичные ошибки при чтении транзакций
«Транзакция не подтверждается»
Частая причина — слишком низкая комиссия. В mempool.space можно посмотреть текущую ставку, при которой транзакции попадают в блоки. Если ваша ставка ниже порога, транзакция будет ждать. Решение: RBF (если включён) или CPFP. Подробнее — в Зависшая транзакция Bitcoin: как работают RBF и CPFP и когда они не помогут и Комиссия в Bitcoin: как устроен механизм sat/vB, приоритет в мемпуле и почему транзакция может зависнуть.
«Средства ушли не туда»
В Bitcoin адрес получателя зашит в скрипт блокировки. Если вы отправили на неверный адрес, вернуть средства невозможно без сотрудничества получателя. В Ethereum аналогично: транзакция необратима. Всегда проверяйте адрес посимвольно перед отправкой.
«Статус Failed, но газ списан»
В Ethereum транзакция может завершиться ошибкой (revert), но газ всё равно расходуется. Это не баг, а защита сети от бесконечных вычислений. Причина обычно видна в декодированном input или в логах.
«Вижу два перевода на один адрес»
В Bitcoin кошелёк может создать несколько выходов на один и тот же адрес (например, при консолидации UTXO). Это не дублирование, а нормальная работа.
«Баланс не совпадает с ожидаемым»
В Ethereum баланс адреса в эксплорере отражает только нативный ETH. Токены ERC-20, ERC-721 и ERC-1155 хранятся в балансах соответствующих контрактов, а не в балансе самого адреса. Чтобы увидеть полный портфель, используйте вкладку «Token» в Etherscan или специализированные сервисы вроде ethplorer.io.
Безопасность при работе с эксплорерами
- Не вводите приватные ключи или seed-фразу на сайтах эксплореров. Они не требуют аутентификации для просмотра данных.
- Проверяйте домен эксплорера. Фишинговые копии популярных сервисов существуют.
- Если эксплорер просит «подключить кошелёк» для просмотра баланса — это подозрительно. Для чтения данных подключение не нужно.
- При взаимодействии со смарт-контрактами через кошелёк всегда читайте, что именно подписываете. Не давайте unlimited approval, если это не требуется. Подробнее об отзывах доступов — в Token approvals в Ethereum: что даёт разрешение смарт-контракту и как отозвать лишние доступы.
Практический чек-лист проверки транзакции
- Скопируйте txid/txhash из кошелька.
- Вставьте в эксплорер соответствующей сети.
- Проверьте статус: подтверждена ли транзакция и сколько подтверждений.
- Сверьте адрес получателя и сумму.
- Для Bitcoin: убедитесь, что комиссия адекватна текущей ставке мемпула.
- Для Ethereum: проверьте статус выполнения (Success/Failed), газ и логи.
- Если транзакция не подтверждается более 30 минут — проверьте fee rate и наличие RBF-флага.
- Если статус Failed — откройте декодированный input и логи, чтобы понять причину ошибки.
