TON ADNL API
Clients connect directly to Liteservers (nodes) using a binary protocol.
The client downloads keyblocks, the current state of the account, and their Merkle proofs, which guarantees the validity of the received data.
Read operations (like get-method calls) are made by launching a local TVM with a downloaded and verified state.
There is no need to download the full state of the blockchain, the client downloads only what is needed for the operation. Calling the local TVM is also ineffective.
Read more about Merkle proofs at TON Whitepaper 2.3.10, 2.3.11.
Pros & Cons
✅ Reliable. Uses API with Merkle proof hashes to verify incoming binary data.
✅ Secure. Since it checks Merkle proofs, you can even use untrusted liteservers.
✅ Fast. Connects directly to TON Blockchain nodes, instead of using HTTP middleware.
❌ Complicated. More time is required to figure things out.
❌ Back-end first. Not compatible with web frontends (built for non-HTTP protocol).
Requests and responses to the server are described by the TL schema that allows you to generate a typed interface for a certain programming language.