Overview
The best place to start is a TON Hello World guide of how to create your first Web App:
Tools
Here you can see links to the most important resources for you to get started with TON:
- Wallets — a list of popular wallets for TON.
- Explorers — to track transactions in the blockchain.
- Testnet — info about the testnet and how to use it.
- Unfreezer - Unfreeze a TON contract that ran out of gas for rent.
Examples
If you are a web or bot developer, you may find the following repositories useful:
JavaScript
- Payment processing using JavaScript:
- Create a key pair and a wallet (tonweb)
- Accepting deposits to a single wallet (tonweb)
- Accepting deposits to multiple wallets (tonweb)
- Withdrawal process (tonweb)
- Payment channel example (tonweb)
- TON Bridge front-end (Vue.js, no comments)
- Web Wallet source code (tonweb, no comments)
- Bot for sales of dumplings
Python
- psylopank/pytonlib examples
- Transfer NFT & Jettons by creating a transfer message from the owner wallet
- Create mnemonic, init wallet class, create an external message to deploy the wallet
- Storefront bot with payments in TON
- Bot with own balance
Go
Most popular SDK
Here is a list of modern SDKs that are constantly supported and improved:
JavaScript SDK
- ton-community/ton — Modern cross-platform client for TON by the TON Community
- toncenter/tonweb — cross-platform client for TON Blockchain by TON Center
- @tegro/ton3-client — JS ton3-client for tonhold API by TonHold
- nns2009/ton-payment-tracker — TON payment tracker.
Python SDK
- psylopunk/pytonlib — Python SDK (ADNL API)
- toncenter/pytonlib — Python SDK (ADNL API)
- tonfactory/tonsdk — Analogue of the tonweb js library (TON Center HTTP API)
- tons — Easy-to-use CLI to work with TON wallets.
Go SDK
- xssnick/tonutils-go — Golang SDK for TON Blockchain.
- tonkeeper/tongo — Golang SDK with native ADNL support, cells manipulations and CGO for TVM and tx emulations.
Kotlin / Java SDK
- ton-kotlin — Kotlin SDK for TON Blockchain
Rust SDK
- ston-fi/tonlib-rs — Rust SDK for The Open Network.
Telegram WebApps (TWA)
- Telegram WebApps Documentation — full description on Telegram website.
SDK
- ton-defi-org/tonstarter-twa — template for new TWA interaction with TON
- twa-dev/boilerplate — another boilerplate for a new TWA.
- twa-dev/sdk — NPM package for TWA SDK
- twa-dev/Mark42 — Mark42 is a simple lightweight tree-shakable UI library for TWA
Join a special Telegram Community Chat for TWA developers if you're interested.
Authorization SDK
To add login button to your website or web app use the following:
TON Connect
ton-connect is a unified authorization standard for every wallet in the TON ecosystem. It's supported and developed by Tonkeeper team with tech advisors from TON Community.
Documentation
Development
- ton-connect/sdk — JS SDK for authorization
- ton-connect/docs — Documentation of standard
- ton-connect/wallets-list — list of supported wallets (add yours!)
TonLib SDK
These technologies contains very low-level stack, so please use it if any other SDKs don't work for you. It will save a lot of your time.
TonLib was one of the first libraries for working with TON Blockchain.
- C++ TonLib
- Python TonLib wrapper
- Golang TonLib wrapper
- Java TonLib wrapper (JNI)
- tonlib-xcframework—builder for Apple that generates .xcramework for all architectures
- labraburn/SwiftyTON—native Swift wrapper for tonlib with async/await
- labraburn/node-tonlib—C++ addon for NodeJS to work with tonlibjson
Usage examples
- Desktop standard wallet (C++ and Qt)
- Android standard wallet (Java)
- iOS standard wallet (Swift)
- TonLib CLI (C++)
APIs
- Go to API section to read more about APIs in TON