A command line tool to monitor and manage tron nodes.
Project description
TRON-CLI
_________ ____ _ __ _______ ____
/_ __/ _ \/ __ \/ |/ /___/ ___/ / / _/
/ / / , _/ /_/ / /___/ /__/ /___/ /
/_/ /_/|_|\____/_/|_/ \___/____/___/
A command line tool, to quick set up, turn on/off (multiple) tron nodes(full/solidity), and monitor running status.
| Python | JDK |
|---|---|
| 3.7+ | 1.8 |
-
Learn more about tron on TRON Developer Hub
-
Join the community on TRON Discord
-
Source code on Github
-
Project on Pypi
Install
pip
pip install --upgrade pip
pip install troncli
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 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 event node
tron-cli run --nodetype event
e. run tron-grid
tron-cli run --nodetype grid
Usage
| 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 |
| 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 -- reset True |
| 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,version} ...
which subcommand do you want?
optional arguments:
-h, --help show this help message and exit
subcommands:
{init,config,run,stop,status,quick,version}
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 node by one command)
version Check installed troncli version.
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
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]
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
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]
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 pid
FAQs on installation
-
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 llvmb. please check if you are using python 3.x
-
How to test in virtual environment?
a. create virtual environment
python3 -m venv venvb. activate venv
. ./venv/bin/activatec. install troncli in venv
pip install tronclid. when done testing, or using the venv - to deactivate venv
deactivate
Changelog
In doing
[ ] run - filter nodes
[ ] dump - fetch a dump
[ ] init - add option to build from source code
[ ] run - multiple (full) nodes
[ ] robust - catch more errors and provide better error msg
[ ] status -- add config setting in status json
[ ] db - check and trim db
[ ] add more instruction in command
[ ] improve stop/config/status according to feedback
[ ] db - mongodb create db and set user name, user role, db name, and psd
[blocked] config -- add option to config to sync with newly deployed shasta testnet
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file troncli-0.2.1.tar.gz.
File metadata
- Download URL: troncli-0.2.1.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4e425a68807dae7d7f03ea720ee950170054f1f3d78d3e45a7c8b270add2192
|
|
| MD5 |
6f8464fcc9dde677cd97940260fe2862
|
|
| BLAKE2b-256 |
773e487212cde4d23941bf6b9030e5157fa26469ec9c98efa662f1e54cf992cb
|
File details
Details for the file troncli-0.2.1-py3-none-any.whl.
File metadata
- Download URL: troncli-0.2.1-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a03edf36963f3dc76043a363ed7bad7f1e2d3ae80830d111a57b3fba8d966e08
|
|
| MD5 |
799d1f45088d6d2b15c3e228d2cd17d9
|
|
| BLAKE2b-256 |
3d47d571647edf331fd273ef2c2aa384d6977609707870fec13841e6eb30d7c9
|