Giter Site home page Giter Site logo

expectfun / toncli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from disintar/toncli

0.0 0.0 0.0 807 KB

TON Command Line Interface - easy smart contract manipulation

Home Page: https://disintar.io/

License: Apache License 2.0

Python 100.00%

toncli's Introduction

Superset

toncli

License PyPI version Codacy Badge TON

The Open Network cross-platform smart contract command line interface.

Easy to deploy and interact with TON smart contracts.

๐Ÿ”ง Installation

Toncli support Windows / macOS (m1 / intel) / Linux / Docker, installation guide can be found: INSTALLATION.md

๐Ÿ“š Usage and docs

New to toncli?

Try: Quick start guide

All other documentation lists in docs/

Lessons

๐Ÿ‡ฌ๐Ÿ‡ง Ton FunC lessons Eng

๐Ÿ‡ท๐Ÿ‡บ Ton FunC lessons Rus

Contributor Guide

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 ๐Ÿฅณ

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 / 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 โœ…

Commands

List of all commands

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 [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.

Version migration

0.24

Please, use toncli update_libs

0.22

The easy migration method - remove fift-libs, func-libs from ~/.config/toncli or delete whole directory ~/.config/toncli

Help and questions

Feel free to ask questions and help in official telegram chats: Russian / English

License

Copyright (c) 2022 Disintar LLP Licensed under the Apache License

toncli's People

Contributors

tvorogme avatar miroslav-tashonov avatar bminaiev avatar elderorb avatar aminrezaei0x443 avatar devonbernard avatar acadabus avatar programcrafter avatar hotid avatar 2ico avatar xabbl4 avatar emelyanenkok avatar hiyorimi avatar bormor avatar trinketer22 avatar aleksej-paschenko avatar qpwedev avatar isopen avatar stspbu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.