Skip to main content

Superset

toncli

License PyPI version Codacy Badge TON

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)

  1. Check network (testnet, mainnet) configuration locally (in config user folder)
    1. If no config found - download from URL in config.ini
  2. Check deploy wallet locally (in config user folder)
    1. If it's first time - simple wallet will be created in config folder
    2. Message with wallet address and tips will be displayed (user need to send some TON coin on it)
    3. If there is no TON in deploy contract - script will exit and notify user to update deployer balance
  3. Will run tests on fift/data.fif / fift/message.fif (if exist) / fift/lib.fif (if exist) before creating deploy message
    1. This will check all files are correct
    2. Also, you can run custom logic - for example create keys in build/
  4. Will calculate address of contract and display it to user
  5. Will send money from deploy wallet
  6. Will deploy your contract
    1. External message will be created
    2. Boc will generated
    3. 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)

Source distribution for toncli-win 0.0.4
File Size Uploaded Provenance
toncli-win-0.0.4.tar.gz 97.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for toncli-win 0.0.4
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page