list of links to articles and tools which can help you to start developing smart-contracts for TON blockchain
Self executing program hosted at blockchain. For example in the TON blockchain every wallet is smart-contract. Smart-contract have state and persistent storage, which can contain any sort of variables. Smart-contract can store data, move funds to other smart-contracts, compute something.
To begin with, you must pay attention to two existing programming languages related to developing smart contracts in TON: FunC and Fift. FunC is used to write the logic of contracts, it is compiled to fift-asm code, which can then be translated to bytecode for TVM. The functionality of Fift is very wide. To begin with, fift-asm is an Asm.fif program that allows you to translate asm-like(fift-asm) code into byte code for TVM. We also use Fift to automatically test and write queries to smart contracts.
You can get the binaries of the FunC compiler and the Fift interpreter by building code from newton-blockchain/ton repo.
You can use toncli to easily and conveniently develop smart contracts using FunC and Fift, especially useful if you are a beginner. The tonweb library is available for writing web interfaces. The official documentation can also help you a lot.
- [en, ru] Biggest TON Tech chat - technical discussion about TON
- [en, ru] Chat about smart-contract developing
- [en] Tonic discord channel for English-speaking TON developers
TL-B (Type Language - Binary) serves to describe the type system, constructors, and existing functions. For example we can use TL-B schemes to build binary structures associated with the TON blockchain. Special TL-B parsers can read schemes to deserialize binary data into different objects. (definition from the documentation)
- Official smart contracts (wallets, givers, etc.)
- https://github.com/ton-blockchain/wallet-contract
- Telegram contests, a lot of different smart contracts
- Gambling smart contract
- Auction smart contract
- Smart contract with text sending
- Example of simple token contract
- Official draft fungible, non-fungible token contracts
- Wallet v4 contract (Supports external plugins installation)
- TRC-20 (like ERC-20) token contract
- Examples of using fift runvm to run transactions
- Slotmachine game smart contract
- Official guidelines - https://ton.org/docs/#/howto/smart-contract-guidelines
- Develop, deploy and use lottery smart contract - https://habr.com/ru/post/494528/
- Extend wallet smart contract and deploy it - https://telegra.ph/Hello-World-TON-smart-contract-for-15-minutes-11-20
- Smart contract deployer by t.me/ProjectManageRR
- TON CLI by t.me/disintar
- Documented generate.fif by t.me/disintar
- Lite-client installation guide. Via lite-client you can send .boc file to deploy smart contract to blockchain
- Compilation and deploy of the gambling smart contract
- Intellij Platform plugin
- neovim FunC syntax highlighting
- Visual Studio Code fift syntax highlighting and FunC syntax highlighting