Транзакции
Страница транзакции отвечает на три вопроса — сделала ли она что-нибудь, что переместила и во что обошлась, — и в Arc у всех трёх ответы не такие, как в сетях, из которых приходит большинство читателей обозревателей.
Что содержит страница транзакции#
Откройте транзакцию из списка транзакций, из блока или вставив её хеш в поиск. Обзор — это один сплошной ряд подписанных строк: «Хеш транзакции», «Статус», «Блок», «Метка времени», «Отправитель» и «Взаимодействие с (получатель)», затем перемещения суммы и токенов, затем «Сумма», «Комиссия транзакции» и «Цена газа». Всё, что тяжелее, живёт на собственной вкладке, поэтому открытие транзакции никогда не ждёт трассировщика.
| Вкладка | Что показывает |
|---|---|
| Обзор | Подписанные строки выше плюс раскрывающийся блок «Подробнее» с лимитом и расходом газа, разложением комиссии, прочими атрибутами и декодированными входными данными. |
| Внутренние | Дерево вызовов — там, где трассировщик всё ещё может его построить для этого блока. См. ниже: пустая таблица здесь была бы ложным утверждением, поэтому страница её не отрисовывает. |
| Логи | Каждое событие, выпущенное транзакцией, декодированное там, где сигнатура события известна. Число в подписи вкладки — это количество логов. |
| Состояние | Разницы в балансах, в nonce и в хранилище, вызванные транзакцией, полученные трассировщиком в режиме diff. |
| Получить сырой JSON транзакции | Собственный JSON ноды для транзакции и её квитанции — дословно и с возможностью копирования. Это не вкладка: он лежит в меню ⋮ рядом с ними. |
Статус#
У статуса три значения, а не два. Он читается из квитанции, а квитанция либо говорит, что исполнение завершилось, либо говорит, что оно откатилось, либо больше недоступна для чтения.
| Бейдж | Что означает |
|---|---|
| Успех | Квитанция сообщает, что исполнение завершилось. |
| Ошибка | Транзакция откатилась. Ничего из задуманного применено не было, но она находится в цепи, и её комиссия всё равно была списана. |
| Неизвестно | Arcscan не может сказать вам, что именно из двух произошло. Сама транзакция окончательна и неизменна. |
Откатившаяся транзакция никогда не показывается как успешная
У этого правила есть история: более ранняя сборка по умолчанию считала отсутствующую квитанцию успехом и публиковала откатившиеся транзакции с зелёной галочкой. Там, где причину отката удаётся восстановить, она декодируется и показывается рядом с бейджем — собственное сообщение require контракта, код паники компилятора или именованная пользовательская ошибка со своими аргументами, — а сырые данные отката остаются в одном нажатии, потому что всё остальное в этой строке является их истолкованием.
Когда исход неизвестен#
Исход транзакции существует только в её квитанции. Нода обрезает квитанции по скользящему окну, храня тела блоков заметно дольше, поэтому за этой границей транзакция по-прежнему отрисовывается, а её исход с ноды уже не восстановить. Собственный индекс Arcscan закрывает большую часть этого разрыва, поэтому «Неизвестно» доходит до вас только там, где квитанции нет ни в одном из источников. Это настоящий ответ, а не ошибка и не состояние загрузки, и страница говорит это словами, а не печатает нулевую комиссию рядом с серой пилюлей. Подробнее о том, где покрытие начинается и заканчивается, — в разделе Полнота данных.
Ни ожидания, ни подтверждений#
Arc сообщает о своей финальности как об instant: блок окончателен в момент фиксации, и реорганизацией его не убрать. Поэтому нигде на странице транзакции нет счётчика подтверждений — ничто не отсчитывает путь к безопасности, — и Arcscan вместо этого показывает рядом с блоком устоявшееся состояние «Финализирован». Точно так же здесь нет ни представления транзакций в ожидании, ни мемпула, куда можно было бы вас отправить, потому что нет и самого состояния ожидания.
Тогда что означает хеш, который ни во что не разрешается?
Две вещи, и страница называет обе, а не гадает. Либо транзакция новее тех данных, которые Arcscan успел прочитать, либо нода обрезала свою таблицу «хеш → блок» для достаточно старого блока — и тогда блок по-прежнему перечисляет транзакцию, и пропал только поиск по хешу. Высота головного блока напечатана, чтобы вы могли понять, какой это случай.
Газ и комиссии — в USDC#
Нативный актив Arc — то, чем оплачивается газ, — это USDC с 18 знаками. Один этот факт снимает пересчёт, которого требуют комиссии в других сетях: комиссия и её долларовая величина — одно и то же число, поэтому ничто на странице не является величиной, умноженной на курс.
| Строка | Что это |
|---|---|
| Сумма | USDC, перемещённые самой транзакцией, с 18 знаками. |
| Комиссия транзакции | Всё, что было уплачено за её обработку, в USDC. |
| Цена газа | Действующая цена единицы газа в Gwei с полной точностью, с той же ценой, повторённой рядом как нативная сумма. Она печатается без округления, потому что произведение цены на израсходованный газ обязано сходиться с комиссией. |
| Лимит и расход газа | Установленный лимит, фактически израсходованный газ и доля в процентах. |
| Сожжено и чаевые валидатору | Разложение «Комиссии транзакции» выше, а не дополнительные списания: часть по базовой комиссии сжигается, приоритетная часть достаётся предложившему блок, и вместе они дают комиссию. |
Два десятичных масштаба, один доллар#
У одного и того же доллара два ончейн-облика, и путаница между ними на двенадцать порядков — самое частое недоразумение в этой сети. Нативный USDC — сумма, газ, комиссии — это 18 знаков. Контракт ERC-20 для USDC живёт по адресу 0x3600000000000000000000000000000000000000 и имеет 6 знаков. Суммы всегда отрисовываются с тем числом знаков, которое объявила полезная нагрузка для этого актива, и никогда с предполагаемыми 18, а конвертер единиц в меню ⋮ существует ровно для этого. Перемещение токенов разобрано в разделе Токены.
Логи#
Вкладка «Логи» читает квитанцию дважды. Сначала как предложения — какие логи переместили стоимость, от кого и кому, — потому что именно с этим вопросом пришло большинство читателей. Затем как сами события: выпустивший контракт, декодированное имя события и его сигнатура, индексированные топики, разобранные по именованным параметрам, и секция данных как именованные поля, — причём сырые топики и слова всегда в одной кнопке отсюда.
Декодирование делается по возможности и никогда не является догадкой. Событие с неизвестной сигнатурой отрисовывается как пронумерованные топики и пронумерованные слова данных, а не под выдуманным именем. Оба представления идут из одной квитанции, поэтому обязаны сходиться; там, где они не сходятся, страница печатает предупреждение, а не показывает короткую сводку над длинным списком, оставляя вас додумывать.
Внутренние транзакции#
Внутренние транзакции — это вызовы, которые транзакция сделала изнутри себя, и здесь есть два разных продукта, которые легко спутать. Дерево вызовов одной транзакции строится по запросу трассировщиком в момент открытия вкладки, и в основной сети это работает сегодня. Общесетевой индекс внутренних транзакций с возможностью поиска — вещь отдельная, собираемая из потока traces, а этот поток сейчас не содержит ни одного блока ни в одной из сетей.
Индекс трассировок сегодня пуст в обеих сетях
Измерено 10 авг. 2026 г.: поток traces сообщает о нуле проиндексированных блоков и об отсутствии диапазонов и в основной сети, и в тестовой. Поэтому общесетевой список внутренних транзакций сейчас нельзя построить по индексу, и страницы адресов тоже не могут перечислить внутренние переводы из него. Это пробел в том, что проиндексировал Arcscan, а не утверждение, что этих вызовов не было.
Там, где дерево вызовов построить нельзя, страница так и говорит, а не отрисовывает пустую таблицу, — потому что пустая таблица читалась бы как «эта транзакция не сделала внутренних вызовов», а это ложное утверждение о цепи. Арифметика делает различие надёжным: у каждой исполнившейся транзакции есть хотя бы один фрейм — сам вызов верхнего уровня, — поэтому ноль фреймов может означать только то, что трассировка не была построена. По-настоящему пустой случай — это ровно один фрейм. Когда трассировщик ответить не может, Arcscan откатывается к тому, что всё ещё доказывает квитанция: чистое перемещение нативной суммы в Arc публикуется ещё и логами, поэтому перемещённая внутри транзакции стоимость восстанавливается даже там, где фреймы — нет.
Как получить квитанцию самостоятельно#
rpc.arc-scan.ioОткроется в новой вкладке — это публичная точка JSON-RPC только для чтения для основной сети Arc, сеть 5042 (0x13b2). Она стоит перед несколькими независимыми поставщиками с переключением при отказе и отвечает на обычные методы чтения, поэтому любую величину со страницы транзакции можно сверить напрямую с цепью.
curl -s https://rpc.arc-scan.io \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1, "method":"eth_getTransactionReceipt", "params":["0xYOUR_TX_HASH"]}'
Поле status квитанции равно 0x1 для завершившейся транзакции и 0x0 для откатившейся — это тот же факт, который отрисовывает бейдж статуса. Точки для тестовой сети на этом имени хоста нет. Список методов и ограничения — в разделе Публичный RPC, а форма ответов собственных эндпоинтов Arcscan — в разделе REST API. Контейнер, в котором приходит транзакция, разобран в разделе Блоки.