Пять полей, которые важны
| Поле | О чём говорит |
|---|---|
| Status / Result | SUCCESS либо конкретный отказ: OUT_OF_ENERGY, REVERT, OUT_OF_TIME |
| Energy Usage Total | Сколько энергии реально израсходовал вызов и откуда она взялась |
| Bandwidth / Net Usage | Сколько байт списано и откуда: из бесплатного лимита или сжиганием TRX |
| Fee | Реально сожжённые TRX. Ненулевое значение у упавшей транзакции — норма, а не ошибка |
| TRC-20 Transfers / Token Transfer | Двигались ли токены на самом деле. Пусто при отказе, заполнено при успехе |
Последнее поле — самое полезное для ответа на вопрос «дошли ли деньги». Наличие транзакции не равно состоявшемуся переводу: упавший вызов записан в блокчейн, но перевода токенов к нему не приложено.
Как читать успешный перевод
У здорового перевода USDT должно быть Status SUCCESS, раздел TRC-20 Transfers с отправителем, получателем и суммой, и Energy Usage в районе 64 000 или 130 000 в зависимости от получателя.
Разбивку Energy Usage стоит читать внимательно: она показывает, откуда взялся ресурс. Если указан расход энергии с вашего баланса — сработали стейк или аренда. Если указана комиссия в TRX — сеть сожгла ваши TRX, чтобы покрыть нехватку, а значит, вы незаметно заплатили по дорогому тарифу.
Последний случай — самая распространённая форма молчаливой переплаты. Перевод проходит, ничего не выглядит неправильным, и разница проявляется только в балансе TRX со временем.
Как читать отказ
Если статус не SUCCESS, строка результата говорит, какое лечение применять. Это действительно разные проблемы.
| Результат | Как понимать | Что делать |
|---|---|---|
| OUT_OF_ENERGY | Вызов исполнялся и на середине остался без энергии | Больше энергии; проверить историю USDT у получателя |
| REVERT | Контракт отработал и отказал — обычно не хватает баланса или нет allowance | Дело не в энергии; проверить баланс токена |
| OUT_OF_TIME | Исполнение превысило лимит времени ноды под нагрузкой | Повторить; если повторяется — вызов слишком тяжёлый |
| Account does not exist | Адрес назначения не был активирован | Сначала отправить 1 TRX либо принять комиссию за активацию |
Для REVERT поищите revert reason, если обозреватель его показывает. Контракты часто зашивают читаемое сообщение, и оно обычно прямо называет невыполненное условие.
fee_limit — это не комиссия
Поле fee_limit — это потолок, который вы задаёте перед подписью: максимум, который готовы потратить на исполнение. Это не то, что с вас списали.
Сравнение fee_limit с Energy Usage показывает, сами ли вы виноваты в отказе. Если расход упёрся ровно в лимит — лимит был занижен и вызов оборвали. Если расход остановился заметно ниже — дело не в лимите, причина в другом.
Как смотреть адрес, а не транзакцию
- Откройте страницу адреса и прочитайте панель Resources: Energy и Bandwidth в формате «доступно из всего», где делегированное указано отдельно от собственного.
- Посмотрите список токенов — есть ли на адресе USDT вообще. Именно отсутствие токена делает перевод на этот адрес дорогим.
- Проверьте дату создания, чтобы убедиться, что адрес активирован. Нет даты — нет аккаунта.
- Просмотрите последние транзакции на предмет других вызовов в том же окне: энергия — общий пул, и её мог израсходовать кто-то ещё.
Делегированные ресурсы входят в те же цифры, что и собственные, поэтому адрес выглядит обеспеченным ровно до истечения аренды. Разбирая проблему с таймингом, смотрите, когда сделано делегирование и на какой срок.
Что прикладывать, когда просите помощи
Пишете ли вы поставщику ресурсов, бирже или контрагенту — почти всю работу делает одна вещь.
- Хеш транзакции. Он публичен, однозначен и позволяет любому восстановить произошедшее без переписки.
- Не скриншот кошелька: он показывает, что думает ваш кошелёк, а не что записал блокчейн.
- Не сумму и время: под это описание может подходить сразу несколько транзакций.