TONboard

Виды транзакций в блокчейне TON

2 мин чтенияобновлено 2026-05-29✏️ Предложить правку🕑 История
Содержание (11)

Транзакция в TON — процесс, включающий:

  1. Отправку входящего сообщения для активации смарт-контракта;
  2. Выполнение действий внутри контракта;
  3. Генерацию исходящих сообщений другим участникам.

Общие компоненты транзакции#

  • Аккаунт, которому принадлежит транзакция;
  • Логическое время транзакции;
  • 0 или 1 входящее сообщение;
  • N исходящих сообщений;
  • Начальное и конечное состояние аккаунта (включая баланс);
  • Общая сумма сборов валидаторов;
  • Подробное описание (тип + промежуточные шаги).

Логическое время

  • Точное упорядочивание событий в асинхронной системе смарт-контрактов;
  • Каждое исходящее сообщение получает свой timestamp;
  • Строго возрастающее для сообщений одного контракта;
  • Валидаторы используют для упорядочивания и обработки.

Виды транзакций#

ТипНазначение
ОбычныеОбрабатывают входящее сообщение, меняют состояние, генерируют исходящие
ХраненияСбор платежей за хранение аккаунта (никакого кода не вызывают)
TickВ начале каждого блока мастерчейна
TockВ конце блока мастерчейна
Разделяющие (split)Аккаунт разделяется на ξ и ξ' (шардирование)
Объединяющие (merge)Объединение аккаунтов (оптимизация)

Фазы обычной транзакции#

  1. Фаза хранения (storage) — сбор платы за хранение;
  2. Фаза кредитования (credit) — аккаунт получает сумму входящего сообщения;
  3. Вычислительная фаза (compute) — код контракта вызывается в TVM, завершается exit-кодом + новые данные + список действий;
  4. Фаза действия (action) — выполнение действий из списка;
  5. Фаза отскока (bounce) — если прервана и установлен bounce-флаг → сообщение возвращается отправителю.

Особенности#

Транзакции хранения

  • Вставляются валидаторами при условиях:
    • Аккаунт долго не использовался;
    • Баланс недостаточен для оплаты хранения;
  • Если баланс упадёт ниже минимума → аккаунт замораживается, код и данные заменяются хешем.

Tick + Tock

  • Зарезервированы для специальных системных смарт-контрактов;
  • Автоматически вызываются в каждом блоке.

Разделение

  1. Транзакция подготовки разделения (как tock) для ξ — последняя в блоке шардчейна;
  2. Транзакция установки разделения для ξ' со ссылкой на подготовку.

Объединение

  1. Транзакция подготовки объединения для ξ' → конвертация состояния и баланса в сообщение-конструктор;
  2. Транзакция установки объединения для ξ обрабатывает сообщение.

Источники#

Похожие статьи#

ℹ️ Информация проверена: 2024

Подготовлено

TONboard

Поддержите проект чаевыми в TON.

Комментарии

Комментарий стоит небольшую он-чейн комиссию — она отсекает спам.
  • Пока нет комментариев — будьте первым.