- HTTP libraries connect through HTTP JSON APIs to read and write to the blockchain. HTTP servers mostly relay these requests to the ADNL network.
- ADNL libraries connect to liteserver.
| HTTP | ADNL | |
|---|---|---|
| Standardized | No | Yes |
| Can connect from a web page | Yes | No |
| Has free third-party servers | Yes | Yes |
| Can be self-hosted | Yes | Yes |
| Requires trusting third parties | Yes1 | No |
| First connection takes time for data synchronization | No | Yes2 |
2 If proofs returned by liteservers are ignored, the first connection skips data synchronization; however, this requires trusting the liteserver. SDKs might also provide some other functionality:
- Core libraries implement standard TON data structures (cell, slice), formats (address, mnemonic), cryptography, etc.
- Wrappers provide high-level APIs for interacting with standard contracts (Wallet, Jetton, NFT).
- Emulator libraries provide an execution environment similar to a real blockchain for testing purposes.
| HTTP | ADNL | Core | Wrappers | Emulator | Language | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| β | @ton/ton | β | β | TypeScript | Code | Chat | ||||
| β | @ton/core | β | TypeScript | Code | Docs | |||||
| β | @ton/sandbox | β | TypeScript | Code | ||||||
| β | ton4j | β | β | β | Java | Code | Chat | |||
| β | tonutils-go | β | β | β | Go | Code | Chat | |||
adnl | β | TypeScript | Code | |||||||
tonutils | β | TypeScript | Code | |||||||
tonlib-java | β | Java | Code | |||||||
tonutils | β | β | β | Python | Code | Docs | Chat | |||
tonlib | β | C++ | Code | Docs | ||||||
ton-kotlin | β | β | Kotlin | Code | Docs | |||||
pytonlib | β | Python | Code | |||||||
pytoniq | β | Python | Code | Docs | Chat | |||||
pytoniq-core | β | Python | Code | Docs | Chat | |||||
mytonlib | β | β | Python | Code | ||||||
tonpy | β | Python | Code | Docs | ||||||
tvm_valuetypes | β | Python | Code | |||||||
pytvm | β | Python | Code | |||||||
tongo | β | β | β | β | Go | Code | ||||
ton | β | PHP | Code | |||||||
interop | β | PHP | Code | |||||||
ton-rs | β | β | β | β | Rust | Code | ||||
ton-grpc | β | Rust | Code | |||||||
tonsdk.net | β | β | C# | Code | Chat | |||||
tonlib.net | β | β | β | C# | Code | |||||
ton | β | Elixir | Code | |||||||
@tetherto/wdk-wallet-ton | β | β | JavaScript | Code | Docs | |||||
@tetherto/wdk-wallet-ton-gasless | β | β | JavaScript | Code | Docs | |||||
tonlib-go | β | Go | Code | |||||||
tonweb | β | JavaScript | Code | |||||||
node-tonlib | β | JavaScript | Code | |||||||
tontools | β | β | Python | Code | ||||||
swiftyton | β | Swift | Code | |||||||
tonlib-xcframework | β | Swift | Code | |||||||
tonlib-rs | β | β | β | β | Rust | Code |
- WDK Core, JavaScript - Modular library from Tether, which supports wallet management and various swap, bridge, and lending services for many blockchains at once.