TON ADNL API
Существует несколько способов подключения к блокчейну:
- RPC-провайдер данных или другой API: в большинстве случаев вы должны полагаться на его стабильность и безопасность.
- ADNL-соединение: Вы подключаетесь к liteserver. Они могут быть недоступны, но при определенном уровне проверки (реализованном в библиотеке) не могут лгать.
- Двоичный файл Tonlib: Вы также подключаетесь к liteserver, поэтому все преимущества и недостатки остаются, но ваше приложение также содержит библиотеку с динамической загрузкой, скомпилированную вне.
- Только для оффчейна. Такие 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% доступности.
Для создания производственной инфраструктуры - рекомендуется использовать хорошо подготовленную инфраструктуру:
- Установите свой собственный liteserver,
- Используйте премиальных поставщиков liteserver @liteserver_bot
Плюсы и минусы
-
✅ Надежно. Использует API с хэшами Merkle proof для проверки входящих бинарных данных.
-
✅ Безопасно. Так как он проверяет Merkle proofs, вы можете использовать даже непроверенные liteservers.
-
✅ Быстро. Подключается напрямую к узлам блокчейна TON, вместо использования промежуточного программного обеспечения HTTP.
-
❌ Сложно. Требуется больше времени, чтобы во всем разобраться.
-
❌ В первую очередь, Back-end. Не совместим с веб-интерфейсами (построенными для не-HTTP протокола), или требует прокси HTTP-ADNL.
Справочник по API
Запросы и ответы к серверу описываются TL схемой, которая позволяет вам создать типизированный интерфейс для определенного языка программирования.