Перейти до основного вмісту

Огляд процесу обробки активів

Тут ви можете знайти короткий огляд про те, [як працюють перекази 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.

Читати далі

Прочитавши цю статтю, ви зможете перевірити:

  1. Обробка платежів, щоб дізнатися, як працювати з TON coins.
  2. Обробка джеттонів, щоб дізнатися, як працювати з джеттонами (іноді їх називають токенами)
  3. Обробка NFT, щоб дізнатися, як працювати з NFT (це спеціальний тип jetton)