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

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

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

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

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

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

  • внешнее сообщение:
    • Внешнее сообщение" (иногда его называют просто "внешнее сообщение") - это сообщение, которое отправляется из вне блокчейна смарт-контракту внутри блокчейна.
    • Внешнее сообщение (обычно называемое "сообщение в журнале") отправляется от блокчейн-субъекта во внешний мир.
  • [Внутреннее сообщение] (/develop/smart-contracts/guidelines/internal-messages) отправляется от одного блокчейн-субъекта к другому, может нести некоторое количество цифровых активов и произвольную порцию данных.

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

Например:

  • Алиса" использует, например, Tonkeeper, чтобы отправить "внешнее сообщение" на свой кошелек.
  • Внешнее сообщение - это входное сообщение для контракта кошелек A v4 с пустым суром (сообщение из ниоткуда, например, Tonkeeper).
  • Исходящее сообщение - это выходное сообщение для контракта кошелек A v4 и входное сообщение для контракта кошелек B v4 с источником кошелек A v4 и пунктом назначения кошелек B v4.

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

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

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

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

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

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

Смарт-контракты платят несколько типов сборов за транзакции (обычно из баланса входящего сообщения, поведение зависит от режима сообщения). Размер сборов зависит от конфигурации workchain: максимальные сборы на masterchain и значительно меньшие на basechain.

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

У TON есть три типа цифровых активов.

  • Тонкоин, основной токен сети. Он используется для всех основных операций в блокчейне, например, для оплаты газа или ставки для подтверждения.
  • Контрактные активы, такие как токены и NFT, которые являются аналогом стандартов ERC-20/ERC-721, управляются произвольными контрактами и поэтому могут требовать пользовательских правил для обработки. Более подробную информацию об их обработке Вы можете найти в статьях process NFTs и process Jettons.
  • Нативные токены - это особый вид активов, которые могут быть прикреплены к любому сообщению в сети. Но в настоящее время эти активы не используются, поскольку функция выпуска новых нативных токенов закрыта.

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

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

Читать далее

Прочитав эту статью, Вы сможете проверить:

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