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