Metadata-Version: 2.1
Name: troncli
Version: 1.0.3
Summary: A command line tool to monitor and manage tron nodes.
Home-page: https://github.com/tronprotocol/tron-cli
Author: Weiyu X
Author-email: weiyu@tron.network
License: UNKNOWN
Description: # <img src="./doc/logo.png" alt="logo" width="50"/> TRON-CLI
        
        TRON-CLI is a command line tool which allows developers quickly set up and manage TRON nodes and service.
        
        ```
         _________  ____  _  __    _______   ____
        /_  __/ _ \/ __ \/ |/ /___/ ___/ /  /  _/
         / / / , _/ /_/ /    /___/ /__/ /___/ /  
        /_/ /_/|_|\____/_/|_/    \___/____/___/
        ```
        
        | Python | JDK |
        |--------|-----|
        | 3.6+   | Oracle 1.8 |
        
        * Learn more about tron on [TRON Developer Hub](https://developers.tron.network/docs/full-node)
        
        * Join the community on [TRON Discord](https://discord.gg/GsRgsTD)
        
        * Source code on [Github](https://github.com/tronprotocol/tron-cli)
        
        * Project on [Pypi](https://pypi.org/project/troncli/)
        
        ------
        
        ## Install
        
        ### [pip](https://pypi.org/project/troncli/)
        
        > pip install --upgrade pip
        
        ```
        pip install troncli
        ```
        
        ------
        
        ## Usage
        
        ### Interactive Mode
        
        ```
        tron-cli i
        ```
        
        Quickly set up what you want by answerinig few questions.
        
        ![gif](./doc/imode.gif)
        
        ### Quick Command
        
        ```
        tron-cli quick
        ```
        
        By default, it will set up a private test-net full node for you. 
        
        * You can also ```--nettype main``` to choose set up a full node sync to main net.
        
        * ```--reset True``` to reset all
        
        ![gif](./doc/quick.gif)
        
        ### Advanced Set up
        
        You can set up full node, solidity node, event node and grid api service (local tron-grid) with more detailed receipt by provided subcommands. See usage by ```tron-cli -h```, and ```-h``` on each subcommands.
        
        #### Manual 
        
        | Command                                                                                                                                                                                                                            | Functions                          | Example1         | Example2                                                                                                                                                                                                                                                                                                                        |
        |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
        | tron-cli init --version --reset                                                                                                                                                                                                    | Init dirs and fetch code.          | tron-cli init    | tron-cli init --version 3.2.2 --reset True                                                                                                                                                                                                                                                                                      |
        | tron-cli config --nettype ---nettype --fullhttpport --solhttpport --eventhttpport --fullrpcport --solrpcport --eventrpcport --enablememdb --dbsyncmode --saveintertx --savehistorytx --gridport --dbname --dbusername --dbpassword | Create and customize config files. | tron-cli config  | tron-cli config --nettype private --fullhttpport 8500 --solhttpport 8600 --eventhttpport 8400 --fullrpcport 58500 --solrpcport 58600 --eventrpcport 58400 --enablememdb True --dbsyncmode async --saveintertx False --savehistorytx False --gridport 18891 --dbname events --dbusername tron --dbpassword 12345678 --reset True |
        | tron-cli run --nodetype                                                                                                                                                                                                            | Run node.                          | tron-cli run     | tron-cli run --nodetype full                                                                                                                                                                                                                                                                                                    |
        | tron-cli stop --node                                                                                                                                                                                                               | Stop node.                         | tron-cli stop    | tron-cli stop --node 7777                                                                                                                                                                                                                                                                                                       |
        | tron-cli status --node                                                                                                                                                                                                             | Monitor nodes status.              | tron-cli status  | tron-cli status --node 777                                                                                                                                                                                                                                                                                                      |
        | tron-cli quick --reset                                                                                                                                                                                                             | Quick start.                       | tron-cli quick   | tron-cli quick --nettype main --reset True                                                                                                                                                                                                                                                                                      |
        | tron-cli log --nodetype --filter                                                                                                                                                                                                   | Show filtered log.                 | tron-cli log     | tron-cli --nodetype sol --filter height                                                                                                                                                                                                                                                                                         |
        | tron-cli i                                                                                                                                                                                                                         | Switch to Interactive Mode.        | tron-cli i       | tron-cli i                                                                                                                                                                                                                                                                                                                      |
        | tron-cli version                                                                                                                                                                                                                   | Check installed troncli version.   | tron-cli version | tron-cli version                                                                                                                                                                                                                                                                                                                |
        | tron-cli -h, --help                                                                                                                                                                                                                | Check help manual.                 | tron-cli -h      | tron-cli --help                                                                                                                                                                                                                                                                                                                 |
        
        #### overall
        
        ```
        tron-cli -h
        ```
        ```
        usage: tron-cli [-h] {init,config,run,stop,status,quick,log,version,i} ...
        
        which subcommand do you want?
        
        optional arguments:
          -h, --help            show this help message and exit
        
        subcommands:
          {init,config,run,stop,status,quick,log,version,i}
            init                Init dirs and fetch code.
            config              Create customize config files.
            run                 Run node.
            stop                Stop node.
            status              Monitor nodes status.
            quick               Quick start. (run a full private/main node by one
                                command)
            log                 Show filtered log.
            version             Check installed troncli version.
            i                   Interactive Mode.
        ```
        
        ##### subcommand: init
        
        ```
        tron-cli init -h
        ```
        ```
        usage: tron-cli init [-h] [--version VERSION] [--reset RESET]
        
        optional arguments:
          -h, --help         show this help message and exit
          --version VERSION  specify java-tron version
          --reset RESET      reset all
        ```
        
        ##### subcommand: config
        
        ```
        tron-cli config -h
        ```
        ```
        usage: tron-cli config [-h] [--nettype NETTYPE] [--fullhttpport FULLHTTPPORT]
                               [--solhttpport SOLHTTPPORT]
                               [--eventhttpport EVENTHTTPPORT]
                               [--fullrpcport FULLRPCPORT] [--solrpcport SOLRPCPORT]
                               [--eventrpcport EVENTRPCPORT]
                               [--enablememdb ENABLEMEMDB] [--dbsyncmode DBSYNCMODE]
                               [--saveintertx SAVEINTERTX]
                               [--savehistorytx SAVEHISTORYTX] [--gridport GRIDPORT]
                               [--dbname DBNAME] [--dbusername DBUSERNAME]
                               [--dbpassword DBPASSWORD] [--reset RESET]
        
        optional arguments:
          -h, --help            show this help message and exit
          --nettype NETTYPE     specify net type [main, private]
          --fullhttpport FULLHTTPPORT
                                specify full node http port
          --solhttpport SOLHTTPPORT
                                specify solidity node http port
          --eventhttpport EVENTHTTPPORT
                                specify event node http port
          --fullrpcport FULLRPCPORT
                                specify full node rpc port
          --solrpcport SOLRPCPORT
                                specify solidity node rpc port
          --eventrpcport EVENTRPCPORT
                                specify event node rpc port
          --enablememdb ENABLEMEMDB
                                enable/disable in memory db
          --dbsyncmode DBSYNCMODE
                                specify either db async or sync mode
          --saveintertx SAVEINTERTX
                                enable/disable save internal transcation
          --savehistorytx SAVEHISTORYTX
                                enable/disable save history transcation
          --gridport GRIDPORT   specify grid api port
          --dbname DBNAME       specify db name
          --dbusername DBUSERNAME
                                specify db user name
          --dbpassword DBPASSWORD
                                specify db password name
          --reset RESET         reset config to default settings
        ```
        
        ##### subcommand: run
        
        ```
        tron-cli run -h
        ```
        ```
        usage: tron-cli run [-h] [--nodetype NODETYPE]
        
        optional arguments:
          -h, --help           show this help message and exit
          --nodetype NODETYPE  specify node type [full, sol, event, grid]
        ```
        
        ##### subcommand: stop
        
        ```
        tron-cli stop -h
        ```
        ```
        usage: tron-cli stop [-h] [--node NODE]
        
        optional arguments:
          -h, --help   show this help message and exit
          --node NODE  stop node by given node id or all
        ```
        
        ##### subcommand: status
        
        ```
        tron-cli status -h
        ```
        ```
        usage: tron-cli status [-h] [--node NODE]
        
        optional arguments:
          -h, --help   show this help message and exit
          --node NODE  check specific node detail by node id
        ```
        
        ##### subcommand: log
        
        ```
        tron-cli log -h
        ```
        ```
        usage: tron-cli log [-h] [--nodetype NODETYPE] [--filter FILTER]
        
        optional arguments:
          -h, --help           show this help message and exit
          --nodetype NODETYPE  specify node type [full, sol, event, grid]
          --filter FILTER      specify filter [number/height]
        ```
        
        ##### subcommand: version
        
        ```
        tron-cli version -h
        ```
        ```
        usage: tron-cli version [-h]
        
        optional arguments:
          -h, --help  show this help message and exit
        ```
        
        ##### subcommand: i
        
        ```
        tron-cli i -h
        ```
        ```
        usage: tron-cli i [-h]
        
        optional arguments:
          -h, --help  show this help message and exit
        ```
        
        ------
        
        ## Common Use Cases
        
        __Notice__: Take a look at ```tron-cli i``` first, interactive mode should cover most use cases.
        
        #### I. set up private-net nodes
        
        a. set up full node only
        
        ```
        tron-cli quick
        ```
        
        b. add a solidity node
        
        ```
        tron-cli run --nodetype sol
        ```
        
        #### II. set up main-net nodes
        
        a. init
        
        ```
        tron-cli init
        ```
        
        b. config to main-net
        
        ```
        tron-cli config --nettype main
        ```
        
        c. run full node
        
        ```
        tron-cli run
        ```
        
        #### III. advanced config to start nodes
        
        a. initilize
        
        ```
        tron-cli init --version latest --reset True
        ```
        
        b. detail config (specify parameter to overwrite default)
        
        ```
        tron-cli config --nettype private --fullhttpport 8500 --solhttpport 8600 --eventhttpport 8400 --fullrpcport 58500 --solrpcport 58600 --eventrpcport 58400 --enablememdb True --dbsyncmode async --saveintertx False --savehistorytx False --gridport 18891 --dbname Null --dbusername Null --dbpassword Null
        ```
        
        c. run full/sol
        
        ```
        tron-cli run --nodetype full
        ```
        
        #### IV. start private full node + event node + tron-grid
        
        a. install mongodb and create user & db
        
        b. initilize
        
        ```
        tron-cli init
        ```
        
        c. config (specify parameter to overwrite default) __dbname dbusername dbpassword are required to set__
        
        ```
        tron-cli config --nettype private --fullhttpport 8500 --solhttpport 8600 --eventhttpport 8400 --fullrpcport 58500 --solrpcport 58600 --eventrpcport 58400 --enablememdb True --dbsyncmode async --saveintertx False --savehistorytx False --gridport 18891 --dbname events --dbusername tron --dbpassword 12345678
        ```
        
        d. run full node
        
        ```
        tron-cli run
        ```
        
        e. run event node
        
        ```
        tron-cli run --nodetype event
        ```
        
        f. run tron-grid
        
        ```
        tron-cli run --nodetype grid
        ```
        
        #### V. start mainnet event node + tron-grid
        
        a. install mongodb and create user & db
        
        b. initilize
        
        ```
        tron-cli init
        ```
        
        c. config (specify parameter to overwrite default) __dbname dbusername dbpassword are required to set__
        
        ```
        tron-cli config --nettype main --fullhttpport 8500 --solhttpport 8600 --eventhttpport 8400 --fullrpcport 58500 --solrpcport 58600 --eventrpcport 58400 --enablememdb True --dbsyncmode async --saveintertx False --savehistorytx False --gridport 18891 --dbname events --dbusername tron --dbpassword 12345678
        ```
        
        d. run event node
        
        ```
        tron-cli run --nodetype event
        ```
        
        e. run tron-grid
        
        ```
        tron-cli run --nodetype grid
        ```
        
        ------
        
        ## FAQs on installation
        
        1. How to fix "fail to build a wheel for psutil" error?
        
            a. please check if you installed clang correctly, or install it using homebrew:
        
            ```
            brew install --with-toolchain llvm
            ```
        
            b. please check if you are using python 3.x
        
        2. How to test in virtual environment?
            
            a. create virtual environment
        
            ```
            python3 -m venv venv
            ```
        
            b. activate venv
        
            ```
            . ./venv/bin/activate
            ```
        
            c. install troncli in venv
        
            ```
            pip install troncli
            ```
        
            d. when done testing, or using the venv - to deactivate venv
        
            ```
            deactivate
            ```
        
        ![logo](./doc/logo.png)
        
        
        # Changelog
        
        #### Version 1.0.2
        
        [X] fix enable_save_inter_tx and enable_save_history_tx config issue;
        
        [X] simplify interact mode default selection;
        
        #### Version 1.0.1
        
        [X] Fix private net broadcast failure and syncing issue.
        
        [X] Fix several typos.
        
        [X] Support java-tron version 3.2.5.
        
        #### Version 1.0.0
        
        ##### highlight:
        
        * Add interactive mode.
        
        * Check and throw error messages with insturction when tron-cli has not initialized or configed.
        
        * Support python version 3.6.
        
        ##### details:
        
        [X] Add check init and config in config and run, throw error and instruction if catched.
        
        [X] Add interactive mode for whole walk through with key selections, which should cover most use cases.
        
        [X] Fix private event node config error on local host port.
        
        [X] quick - support pass in nettype
        
        [X] support python version 3.6
        
        #### Version 0.3.1
        
        [X] config - set a default committee proposal list - enable CreationOfContracts, DelegateResource, SameTokenName, TvmTransferTrc10 for private testnet
        
        [X] check/test/update troncli with java-tron version 3.2.4
        
        [X] reset running node and config -- on init and quick reset
        
        #### Version 0.3.0
        
        ##### highlight:
        
        * Redesign config logic and provide more features.
        
        * Add log subcommand to show log with filter.
        
        ##### details:
        
        [X] Redesign config logic check and restore previous config settings. Only overwrite by given options.tron
        
        [X] add config -- reset: reset to default config
        
        [X] log - filter node logs
        
        [X] version - show current version and instruction to upgrade
        
        
        #### Version 0.2.4
        
        [X] Fix get current node status async error.
        
        #### Version 0.2.3
        
        [X] Catch more errors.
        
        #### Version 0.2.2
        
        [X] Fix [issue#17](https://github.com/tronprotocol/tron-cli/issues/17)
        
        [X] check java install and JDK version
        
        [X] check python version
        
        [X] check git install
        
        [X] status - display recommended cpu / mem for running full nodes
        
        [X] status & run - display log locations
        
        [X] init & status - store and display java-tron node versions
        
        [X] status - show test account/witness's private key and address for private net
        
        #### Version 0.2.1
        
        [X] store config, and show active config cmd in status
        
        [X] provide connection info in status
        
        [X] add --reset for quick
        
        [X] add more instruction in command
        
        [X] show ports info and cmd tips with run command
        
        #### Version 0.2.0
        
        ##### highlight:
        
        Support event-node and tron-grid set up/config/run/stop/monitor.
        
        ##### details:
        
        [X] support java-tron 3.2.2 with more config
        
        [X] add stop all feature
        
        [X] update logo and change node list structure
        
        [X] fix private net init account pk and address does not match
        
        #### Version 0.1.6
        
        [X] fix error on download progress bar when network not available
        
        #### Version 0.1.5
        
        ##### highlight:
        
        Pre-release of support event-node and tron-grid set up/config/run/stop/monitor.
        
        ##### details:
        
        [X] init - change file structure for event-node and tron-grid
        
        [X] init - add reset option and handler
        
        [X] init - fetch event-node code
        
        [X] init - fetch tron-grid code
        
        [X] utils - make git_clone a util function
        
        [X] utils - build util method to store more info and provide for status
        
        [X] config - add options and handlers for event-node
        
        [X] config - add options and handlers for tron-grid
        
        [X] config - add event-node build and raise errors
        
        [X] run - add event-node run
        
        [X] run - fire up tron-grid
        
        #### Version 0.1.4
        
        [X] update to support version 3.2 fetch release, check version
        
        [X] compatible check with version 3.2 release, and update config handler
        
        [X] add more info message;
        
        [X] provide a more neat yet detail help info and command
        
        #### Version 0.1.3
        
        [X] run - check single ps status
        
        [X] keep track of all running nodes
        
        [X] run - monitor overall system status
        
        [X] set default value for all subcommand options
        
        #### Version 0.1.2
        
        [X] catch download errors
        
        [X] add progress bar for download
        
        [X] colorful logo and msg
        
        [X] add more progress msg on ports config
        
        [X] add more progress msg on net_type config
        
        [X] add info msg type for instructions
        
        [X] move changelog to file
        
        [X] optimize progress bar
        
        #### Version 0.1.0
        
        [X] init - set up file folders, and get builds based on given version number
        
        [X] config - init basic config file in json format, and convert to java properties format and export
        
        [X] run - run a single main net full node
        
        [X] quick start
        
        [X] run - move 'run' to its handler, and async the call 
        
        [X] stop - add sub cmd and its handler to stop all nodes (kill -15)
        
        [X] run - change log and data store location
        
        [X] config - add custom method to fire up private/shasta testnet
        
        [X] config - add custom method to change port number
        
        [X] config - add custom method to fire up solidity node
        
        [X] run - add option to run solidity node
        
        [X] pack to pip
        
        [X] Doc - add more instruction in readme file
        
        ### Future Features
        
        [ ] quick - add options to start common user cases
        
        [ ] restart - restart all running nodes
        
        [ ] clean up all std messages
        
        [ ] config - set default/customize committee proposal list
        
        [ ] log - show and filter nodes log
        
        [ ] dump - fetch a dump
        
        [ ] db - manage db, check and trim db
        
        [ ] manual - add more instruction for config
        
        [ ] interact - add interactive mode
        
        [ ] quiet - add quiet mode
        
        [ ] run - multiple (full) nodes
        
        [blocked] config -- add option to config to sync with newly deployed shasta testnet
        
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
