toncli
TON smart contract command line interface
State
Working!
Usage and docs
New to toncli?
Try: Quick start guide
All other documentation lists in docs/
Contributor Guide
Interested in contributing? Feel free to create issues and pull requests.
There is two main tasks and many TODOs.
Main tasks are - not to use lite-client / fift / func. All can be done with python.
There is many TODOs in code - feel free to fix them and create PRs
Features and status
| 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 | ✅ |
| Project interact after deploy: easily send messages, run getmethods | ✅ |
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 address |
❌ |
| Gas auto calculation for store & deploy | ❌ |
| Add more project samples with advanced usage | ❌ |
Project tests with runvmcode |
❌ |
| Project debug | ❌ |
| Library support | ❌ |
| Init Message support (with signature) | ❌ |
| Docs for contract creation for beginners | ❌ |
Advanced user-friendly docs on fift, func |
❌ |
Commands
All commands could be fined in docs/advanced/commands.md
Configuration
Config folder will create on first deploy, all fift / func libs will copy to it, also deploy wallet contract will be created
Deploy process (how it's actually work)
- 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)
Development
git clone git@github.com:disintar/toncli.git
cd toncli && pip install -e .
Metadata
Release files for toncli-win 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| toncli-win-0.0.4.tar.gz | 97.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toncli_win-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 196.5 kB
Release files / toncli-win-0.0.4.tar.gz
| Download URL | toncli-win-0.0.4.tar.gz |
|---|---|
| Size | 97.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1473e58646e4dcb133097a791b3d72f2e0d3fdebf1a96083451def23f338581a
|
|
BLAKE2b-256 checksum How to use checksums |
50e89d9626d24a0be88d8cfbabd282a66fc5659cdcbe65f0f85df01a191f36eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/3.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.8
|
Release files / toncli_win-0.0.4-py3-none-any.whl
| Download URL | toncli_win-0.0.4-py3-none-any.whl |
|---|---|
| Size | 99.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fed9fa2ed315bcb904f3346492466766ca8fd301bafb0565fc2f5bd0c5add378
|
|
BLAKE2b-256 checksum How to use checksums |
1784e66d57c69a7db5707df01412b8d309e805f93af0fa83765acc3c0dc338ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/3.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.8
|
Security for toncli-win 0.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.