Перейти к основному содержимому

Обзор обработки активов

В данной статье представлен краткий обзор того, как работают переводы TON, какие типы активов вы можете найти в TON, а также о том, как взаимодействовать с ton с помощью вашего языка программирования.Настоятельно рекомендуется ознакомиться со всей представленной ниже информацией, прежде чем переходить к последующим страницам.

Обзор сообщений и транзакций

Покрывая полностью асинхронный формат взаимодействия, блокчейн TON содержит несколько концепций, которые нетипичны для традиционных блокчейнов. В частности, каждое взаимодействие любого субъекта с блокчейном состоит из графа асинхронно передаваемых сообщений между смарт-контрактами и/или внешним миром. Каждая транзакция состоит из одного входящего сообщения и до 255 исходящих сообщений.

Существует 3 типа сообщений, которые полностью описаны здесь. Если коротко:

  • внешнее сообщение:
    • external in message (иногда называемое просто external message) — это сообщение, которое отправляется из вне блокчейна в смарт-контракт внутри блокчейна.
    • external out message (обычно называемое logs message) отправляется из сущности блокчейна во внешний мир.
  • внутреннее сообщение отправляется из одной сущности блокчейна в другую, может нести некоторое количество цифровых активов и произвольную часть данных.

Стандартный формат любого взаимодействия начинается с отправки внешнего сообщения на смарт-контракт wallet. Он, в свою очередь, аутентифицирует отправителя сообщения с помощью криптографии с открытым ключом, берет на себя оплату комиссии и отправляет внутренние сообщения блокчейна. Эта очередь сообщений образует направленный ациклический граф или дерево.

Например:

  • Допустим Алиса использует Tonkeeper, для отправкиexternal message на свой кошелек
  • external message – это входящее сообщение для контракта wallet A v4 с пустым отправителем
  • outgoing message является исходящим сообщением для контракта wallet A v4, а также входящим сообщением для контракта wallet B v4 с источником wallet A v4 и пунктом назначения wallet B v4

В результате образуются 2 транзакции со своим набором входящих и исходящих сообщений.

Каждое действие, когда контракт принимает сообщение в качестве входных данных (инициированное им), обрабатывает его и генерирует или не генерирует исходящие сообщения в качестве выходных данных, называется транзакцией. Подробнее о них можно прочитать здесь.

Подобные транзакции могут выполняться длительный период времени. Технически, транзакции с очередями сообщений объединяются в блоки, которые в свою очередь обрабатываются валидаторами. Асинхронная природа блокчейна TON не позволяет предсказать хэш и lt (логическое время) транзакции на этапе отправки сообщения.

Принятая в блок транзакция является окончательной и не может быть изменена.

Подтверждение транзакции

Транзакции TON необратимы после всего лишь одного подтверждения. Для лучшего пользовательского опыта рекомендуется избегать ожидания дополнительных блоков после завершения транзакций в блокчейне TON. Подробнее читайте в Catchain.pdf.

Смарт-контракты выплачивают несколько видов комиссий за транзакции. Обычно они вычитаются с баланса входящего сообщения. Формат работы зависит от режима работы сообщений.Размер комиссий напрямую зависит от конфигурации воркчейна – с максимальными комиссиями в masterchain и существенно более низкими комиссиями в basechain.

Типы цифровых активов на TON

TON имеет три типа цифровых активов.

  • Toncoin, основной токен сети. Он используется для всех основных операций в блокчейне, например, для оплаты комиссий за газ или стейкинга для валидации.
  • Активы контрактов, такие как токены и NFT, которые аналогичны стандартам ERC-20/ERC-721 и управляются произвольными контрактами и, таким образом, могут требовать настраиваемых правил для обработки. Вы можете найти больше информации об их обработке в статьях о обработке NFT и обработке жетонов.
  • Собственный токен – это особый вид активов, который можно прикрепить к любому сообщению в сети. Однако данные активы в настоящее время не используются, поскольку функциональность для выпуска новых собственных токенов закрыта.

Взаимодействие с блокчейном TON

Основные операции в блокчейне TON можно выполнять через TonLib. Это общая библиотека, которая может быть скомпилирована вместе с узлом TON и предоставлять API для взаимодействия с блокчейном через так называемые lite server (серверы для lite clients).TonLib следует подходу без доверия, проверяя доказательства для всех входящих данных. Таким образом, при взаимодействии нет необходимости в доверенном поставщике данных.Методы, доступные TonLib, перечислены в схеме TL. Их можно использовать как общую библиотеку через обертки.

Читать далее

После прочтения этой статьи, советуем ознакомиться со следующими разделами:

  1. Обработка платежей, чтобы узнать, как работать с TON coins
  2. Обработка жетонов, чтобы узнать, как работать с jettons (иногда называемыми tokens)
  3. Обработка NFT, чтобы узнать, как работать с NFT (это особый тип jetton)