Обзор обработки активов
В данной статье представлен краткий обзор того, как работают переводы 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. Их можно использовать как общую библиотеку через обертки.
Читать далее
После прочтения этой статьи, советуем ознакомиться со следующими разделами:
- Обработка платежей, чтобы узнать, как работать с
TON coins
- Обработка жетонов, чтобы узнать, как работать с
jettons
(иногда называемымиtokens
) - Обработка NFT, чтобы узнать, как работать с NFT (это особый тип
jetton
)