The Open Network cross-platform smart contract command line interface.
Easy to deploy and interact with TON smart contracts.
Toncli support Windows / macOS (m1 / intel) / Linux / Docker, installation guide can be found: INSTALLATION.md
New to toncli?
Try: Quick start guide
All other documentation lists in docs/
Interested in contributing? Feel free to create issues and pull requests.
We are trying to process all tasks through issues. You can take own one 🥳
| Feature | Status | 
|---|---|
fift / func / lite-server usage | 
✅ | 
Easy bootstrap project samples wallet | 
✅ | 
| Deploy-wallet for auto send TON to contracts and tests | ✅ | 
Compile func to build/ from func/ with files.yaml | 
✅ | 
| Auto send TON to init contract address | ✅ | 
| Deploy to mainnet / testnet / ownnet | ✅ | 
| Project interact after deploy: easily send messages, run getmethods, run fift parsers on getmethods output | ✅ | 
Load from hard project structure (example: src/projects/wallet) | 
✅ | 
| Run remote contracts locally (get cells from chain and run locally to get error / debug / etc.) | ✅ | 
Get contract address by toncli addrs | 
✅ | 
| Docs for contract creation for beginners | ✅ | 
Project tests with runvmcode | 
✅ | 
| Windows & Linux support | ✅ | 
| Unit tests engine | ✅ | 
| Add more project samples with advanced usage | ✅ | 
Config folder will create on first deploy, all fift / func libs will copy to it, also deploy wallet contract will be created
- Check network (testnet, mainnet) configuration locally (in config user folder)
- If no config found - download from URL in config.ini
 
 - Check deploy wallet locally (in config user folder)
- If it's first time - simple wallet will be created in config folder
 - Message with wallet address and tips will be displayed (user need to send some TON coin on it)
 - If there is no TON in deploy contract - script will exit and notify user to update deployer balance
 
 - Will run tests on 
fift/data.fif/fift/message.fif(if exist) /fift/lib.fif(if exist) before creating deploy message- This will check all files are correct
 - Also, you can run custom logic - for example create keys in build/
 
 - Will calculate address of contract and display it to user
 - Will send money from deploy wallet
 - Will deploy your contract
- External message will be created
 - Boc will generated
 - Will invoke sendfile in lite-client (TODO: use native python lib, not lite-client)
 
 
git clone [email protected]:disintar/toncli.git
cd toncli && pip install -e .
If you wish to update toncli locally you can use pip install -e path/to/toncli/rootfolder/
command anytime after you make changes to the toncli source code.
Please, use toncli update_libs
The easy migration method - remove fift-libs, func-libs from ~/.config/toncli or delete whole
directory ~/.config/toncli
Feel free to ask questions and help in official telegram chats: Russian / English
TON: EQCsCSLisPZ6xUtkgi_Tn5c-kipelVHRCxGdPu9x1gaVTfVC
Copyright (c) 2022 Disintar LLP Licensed under the Apache License