Минимальная карта полей ordinary transaction
СлойЧто читатьЧто это доказываетЧего не доказывает
Computetype, exit_code, gas_feesЗапуск и результат TVM-кодаУспех исходящих действий
Actionsuccess, valid, result_code, msgs_createdПрименение списка действийДоставку каждого сообщения
Transactionaborted, total_feesAction phase не завершилась успешноНаличие возврата
Messagebounce, bounced, valueНастройки или факт bounce-messageПолный возврат исходной суммы
Минимальная карта полей ordinary transaction
Слой
Compute
Что читать
type, exit_code, gas_fees
Что это доказывает
Запуск и результат TVM-кода
Чего не доказывает
Успех исходящих действий
Слой
Action
Что читать
success, valid, result_code, msgs_created
Что это доказывает
Применение списка действий
Чего не доказывает
Доставку каждого сообщения
Слой
Transaction
Что читать
aborted, total_fees
Что это доказывает
Action phase не завершилась успешно
Чего не доказывает
Наличие возврата
Слой
Message
Что читать
bounce, bounced, value
Что это доказывает
Настройки или факт bounce-message
Чего не доказывает
Полный возврат исходной суммы

Порядок зависит от bounceable-флага входящего сообщения

Обычная TON-транзакция может включать storage, credit, compute, action и bounce phases. Для bounceable internal message storage идёт до credit; для non-bounceable — credit до storage. Compute может быть skipped, например из-за no_gas или проблем состояния. Action появляется только после успешного compute и исполняет подготовленные действия: запись состояния, отправку сообщений, изменение code и другие операции.

Адресная форма влияет на установленный по умолчанию bounceable-флаг, поэтому перед переводом полезно понимать форматы адресов TON. Но текстовый префикс не заменяет чтение реального поля сообщения: raw и user-friendly представления кодируют один account ID, а контракт или кошелёк мог сформировать сообщение с собственными параметрами.

Compute exit code и action result code отвечают на разные вопросы

Диагностика одной транзакции

  1. 1
    Зафиксировать объект

    Сохраните network, account, transaction hash или logical time, входящий message hash и block; не смешивайте соседние trace.

  2. 2
    Разобрать compute

    Проверьте, был ли compute skipped или vm, затем exit_code и gas_fees. Успешный compute не означает успешную action phase.

  3. 3
    Разобрать action

    Если фаза есть, прочитайте success, valid, result_code, skipped_actions и msgs_created. Нулевой compute code не перекрывает ненулевой action code.

  4. 4
    Сверить выходы

    Сопоставьте msgs_created с фактическими outbound message hashes и продолжите trace до транзакций получателей.

  5. 5
    Проверить возврат

    Ищите отдельное сообщение с bounced=true, его value и следующую транзакцию отправителя; не вычитайте сумму на глаз.

`aborted=true` означает, что action phase не была успешно завершена; это не стирает саму транзакцию и уже начисленные комиссии. Для исходящего internal message флаг mode +2 игнорирует почти все ошибки отправки и не создаёт bounce, а +16 инициирует bounce phase при action error. Поэтому один result_code нельзя интерпретировать без типа сообщения, mode исходящего действия и реального набора сообщений.

Bounce — новый message с остатком, а не откат банковского платежа

Для bounce нужны совместимые настройки сообщения, подходящий тип ошибки и достаточный остаток для пересылки. Возвратное сообщение меняет source/destination, очищает bounce и получает bounced=true. Import, storage, gas, action и forward fees могли быть удержаны раньше, поэтому возврат бывает меньше исходного value или вообще не создаётся. Non-bounceable перевод не становится возвратным задним числом.

Решение после наблюдаемого результата
НаблюдениеВероятная границаБезопасное действие
Compute skipped/failed, action отсутствуетКод не дошёл до действийСохранить exit/skip reason; проверить состояние, gas и payload
Compute успешен, action failed, aborted=trueОшибка списка действий или средствПроверить result_code, mode, fees и созданные сообщения
aborted=false, ожидаемого эффекта нетКонтракт мог выбрать другой допустимый путьСверить state diff, outbound messages и следующую транзакцию
Есть bounced messageВернулся только остаток valueСчитать фактический входящий value отправителя и все fees
Bounce не найденУсловия возврата не выполнены либо trace неполонНе отправлять повторно до проверки bounce flag, mode и downstream trace
Решение после наблюдаемого результата
Наблюдение
Compute skipped/failed, action отсутствует
Вероятная граница
Код не дошёл до действий
Безопасное действие
Сохранить exit/skip reason; проверить состояние, gas и payload
Наблюдение
Compute успешен, action failed, aborted=true
Вероятная граница
Ошибка списка действий или средств
Безопасное действие
Проверить result_code, mode, fees и созданные сообщения
Наблюдение
aborted=false, ожидаемого эффекта нет
Вероятная граница
Контракт мог выбрать другой допустимый путь
Безопасное действие
Сверить state diff, outbound messages и следующую транзакцию
Наблюдение
Есть bounced message
Вероятная граница
Вернулся только остаток value
Безопасное действие
Считать фактический входящий value отправителя и все fees
Наблюдение
Bounce не найден
Вероятная граница
Условия возврата не выполнены либо trace неполон
Безопасное действие
Не отправлять повторно до проверки bounce flag, mode и downstream trace

Проверяемый итог — это не цвет статуса, а набор: transaction hash/LT, compute exit, action result, aborted, total fees, outbound message hashes и, если он существует, bounced message с фактическим value. Для общей проверки перевода используйте подтверждение перевода по hash, а финальность блока оценивайте отдельно. У Jetton дополнительно надо сверить Jetton master и нужный Jetton wallet: перевод токена разворачивается в несколько сообщений.

Источники

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

  1. TON Docs — Ordinary transaction TON Docs · Проверено 21 августа 2026 г. в 22:07 GMT+5
  2. TON Docs — Transaction phases TON Docs · Проверено 21 августа 2026 г. в 22:07 GMT+5
  3. TON Docs — Internal messages TON Docs · Проверено 21 августа 2026 г. в 22:07 GMT+5
  4. TON Docs — Message modes TON Docs · Проверено 21 августа 2026 г. в 22:07 GMT+5
  5. TON Docs — TVM exit codes TON Docs · Проверено 21 августа 2026 г. в 22:07 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.