Огляд процесу обробки активів
Тут ви можете знайти короткий огляд про те, [як працюють перекази TON] (/develop/dapps/asset-processing/overview#overview-on-messages-and-transactions), які типи активів можна знайти в TON (і про що ви прочитаєте далі) і як взаємодіяти з ton за допомогою вашої мови програмування, рекомендується зрозуміти всю інформацію, викладену нижче, перш ніж переходити до наступних сторінок.
Огляд повідомлень і транзакцій
Втілюючи повністю асинхронний підхід, TON Blockchain включає в себе кілька концепцій, які є незвичними для традиційних блокчейнів. Зокрема, кожна взаємодія будь-якого актора з блокчейном складається з графа асинхронно переданих [повідомлень] (/develop/smart-contracts/guidelines/message-delivery-guarantees) між смарт-контрактами та/або зовнішнім світом. Кожна транзакція складається з одного вхідного повідомлення і до 512 вихідних повідомлень.
Існує 3 типи повідомлень, які повністю описані [тут] (/develop/smart-contracts/messages#типи повідомлень). Якщо говорити коротко:
- зовнішнє повідомлення:
- "Зовнішнє повідомлення" (іноді його називають просто "зовнішнє повідомлення") - це повідомлення, яке надсилається з зовні блокчейну до смарт-контракту всередині блокчейну.
- "Зовнішнє вихідне повідомлення" (зазвичай його називають "повідомленням журналу") надсилається від суб'єкта блокчейну до зовнішнього світу.
- [внутрішнє повідомлення] (/develop/smart-contracts/guidelines/internal-messages) надсилається від одного суб'єкта блокчейну до іншого, може містити певну кількість цифрових активів і довільну частину даних.
Загальний шлях будь-якої взаємодії починається із зовнішнього повідомлення, надісланого до смарт-контракту "гаманця", який аутентифікує відправника повідомлення за допомогою криптографії з відкритим ключем, бере на себе оплату комісії та надсилає внутрішні блокчейн-повідомлення. Ця черга повідомлень утворює орієнтований ациклічний граф, або дерево.
Наприклад:
- "Аліса" використовує, наприклад, [Tonkeeper] (https://tonkeeper.com/), щоб відправити "зовнішнє повідомлення" на свій гаманець.
- зовнішнє повідомлення" - вхідне повідомлення для контракту "гаманець A v4" з порожнім судом (повідомлення з нізвідки, наприклад, Tonkeeper).
- вихідне повідомлення" - це вихідне повідомлення для контракту "гаманець A v4" і вхідне повідомлення для контракту "гаманець B v4" з джерелом "гаманець A v4" і призначенням "гаманець B v4".
В результаті маємо 2 транзакції з їх набором вхідних та вихідних повідомлень.
Кожна дія, коли контракт отримує повідомлення на вхід (запускається ним), обробляє його і генерує або не генерує вихідні повідомлення на виході, називається "транзакцією". Дізнайтеся більше про транзакції [тут] (/develop/smart-contracts/guidelines/message-delivery-guarantees#what-is-transaction).
Ці "транзакції" можуть охоплювати тривалий період часу. Технічно, транзакції з чергами повідомлень агрегуються в блоки, які обробляються валідаторами. Асинхронна природа TON Blockchain не дозволяє передбачити хеш і lt (логічний час) транзакції на етапі відправлення повідомлення.
Прийнята до блоку "транзакція" є остаточною і не може бути змінена.
Транзакції TON є незворотними після одного підтвердження. Для кращого користувацького досвіду рекомендується уникати очікування додаткових блоків після завершення транзакцій в блокчейні TON. Детальніше читайте в [Catchain.pdf] (https://docs.ton.org/catchain.pdf#page=3).
Смарт-контракти сплачують кілька типів комісій за транзакції (зазвичай від балансу вхідного повідомлення, поведінка залежить від режиму повідомлення). Розмір комісії залежить від конфігурації робочого ланцюга: максимальна комісія на masterchain
і значно нижча на basechain
.
Типи цифрових активів на TON
ТОН має три типи цифрових активів.
- Toncoin, основний токен мережі. Він використовується для всіх базових операцій в блокчейні, наприклад, для оплати за газ або стейкінгу для валідації.
- Контрактні активи, такі як токени і NFT, які є аналогом стандартів ERC-20/ERC-721 і управляються довільними контрактами, а тому можуть вимагати кастомних правил для обробки. Ви можете знайти більше інформації про їх обробку в статтях обробка NFT і обробка джеттонів.
- Нативні токени (Native token) - особливий вид активів, які можуть бути прикріплені до будь-якого повідомлення в мережі. Але наразі ці активи не використовуються, оскільки функціонал для випуску нових нативних токенів закритий.
Взаємодія з блокчейном TON
Базові операції з блокчейном TON можна здійснювати за допомогою TonLib. Це спільна бібліотека, яка може бути скомпільована разом з вузлом TON і надавати API для взаємодії з блокчейном через так звані lite-сервери (сервери для lite-клієнтів). TonLib дотримується підходу без довіри, перевіряючи докази для всіх вхідних даних; таким чином, немає необхідності в надійному постачальнику даних. Методи, доступні для TonLib, перелічено у схемі TL. Вони можуть бути використані як спільна бібліотека за допомогою wrappers.
Читати далі
Прочитавши цю статтю, ви зможете перевірити:
- Обробка платежів, щоб дізнатися, як працювати з
TON coins
. - Обробка джеттонів, щоб дізнатися, як працювати з
джеттонами
(іноді їх називаютьтокенами
) - Обробка NFT, щоб дізнатися, як працювати з
NFT
(це спеціальний типjetton
)