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

TON ADNL API

подсказка

Существует несколько способов подключения к блокчейну:

  1. RPC-провайдер данных или другой API: в большинстве случаев вы должны полагаться на его стабильность и безопасность.
  2. ADNL-соединение: вы подключаетесь к liteserver. Они могут быть недоступны, но при определенном уровне проверки (реализованном в библиотеке) не могут лгать.
  3. Двоичный файл Tonlib: вы также подключаетесь к liteserver, поэтому все преимущества и недостатки остаются, но ваше приложение также содержит библиотеку с динамической загрузкой, скомпилированную вне.
  4. Только для Offchain. Такие SDK позволяют создавать и сериализовать ячейки, которые затем можно отправить в API.

Клиенты подключаются непосредственно к Liteservers (узлам) с помощью бинарного протокола.

Клиент загружает keyblocks, текущее состояние аккаунта и их Merkle proofs, что гарантирует достоверность полученных данных.

Операции чтения (например, вызов get-метода) выполняются путем запуска локального TVM с загруженным и проверенным состоянием. Важно отметить, что нет необходимости скачивать полное состояние блокчейна; клиент загружает только то, что необходимо для операции.

Вы можете подключиться к публичным Liteservers из глобальной конфигурации (Mainnet или Testnet), либо запустить свой собственный Liteserver и управлять им с помощью ADNL SDKs.

Подробнее о Merkle proofs читайте в TON Whitepaper 2.3.10, 2.3.11.

Публичные liteservers (из глобальной конфигурации) существуют для быстрого начала работы с TON. Они могут использоваться для обучения программированию в TON или для приложений и скриптов, которые не требуют 100% доступности.

Для создания производственной инфраструктуры - рекомендуется использовать хорошо подготовленную инфраструктуру:

Плюсы и минусы

  • ✅ Надежно. Использует API с хэшами Merkle proof для проверки входящих бинарных данных.

  • ✅ Безопасно. Так как он проверяет Merkle proofs, вы можете использовать даже непроверенные liteservers.

  • ✅ Быстро. Подключается напрямую к узлам блокчейна TON, вместо использования промежуточного программного обеспечения HTTP.

  • ❌ Сложно. Требуется больше времени, чтобы во всем разобраться.

  • ❌ В первую очередь, Back-end. Не совместим с веб-интерфейсами (построенными для не-HTTP протокола), или требует прокси HTTP-ADNL.

Справочник по API

Запросы и ответы к серверу описываются TL схемой, которая позволяет вам создать типизированный интерфейс для определенного языка программирования.

TonLib TL Schema