TronBox is a tool for developing, testing, and deploying smart contracts. It is designed for blockchains using the TRON Virtual Machine (TVM).
TronBox is a fork of Truffle.
Before you can use TronBox, install it using the npm command. For details, see Install TronBox.
$ npm install -g tronbox
_Note: To verify the PGP signature, see here._
You can create a bare project without smart contracts, run:
$ tronbox init
Once this operation is completed, you'll now have a project structure with the following items:
contracts/
: Directory for Solidity contracts
migrations/
: Directory for scriptable deployment files
test/
: Directory for test files for testing your application and contracts
tronbox.js
: TronBox configuration file
For those getting started, you can use TronBox Boxes, which offers example applications and project templates. For details, see Create a TronBox Project.
If you want to only compile, run:
$ tronbox compile
To compile all contracts, use the --compile-all
option.
Specify a network using the --network
option. Network name must exist in the configuration. For details, see Compile a Project.
To deploy our smart contracts, you need to connect to a blockchain. Use the TronBox Runtime Environment to create and interact with the blockchain. For details, see Contract Deployment (Migrations).
To run your migrations, run the following:
$ tronbox migrate
To run all tests, run:
$ tronbox test
Alternatively, you can specify a path to a specific file you want to run: tronbox test ./path/to/test/file.js
. For details, see Test Your Contracts.
To interact with the contract, run:
$ tronbox console
You will see the following prompt:
$ tronbox(development)>
The name in the parentheses of the prompt tronbox(development)>
is the network that is currently connected to. For details, see Interact with a Contract.
pub: 82C1 BB84 1BFA FD01 9CA6 1ACB E98F C329 87F3 BF76
uid: dev@tronbox.io
To dive deeper into advanced topics of the TronBox project lifecycle, please see the Official TronBox Documentation for guides, tips, and examples.
To contribute, see CONTRIUTING.MD.