Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier. With Truffle, you get:
- Built-in smart contract compilation, linking, deployment and binary management.
- Automated contract testing with Mocha and Chai.
- Configurable build pipeline with support for custom build processes.
- Scriptable deployment & migrations framework.
- Network management for deploying to many public & private networks.
- Interactive console for direct contract communication.
- Instant rebuilding of assets during development.
- External script runner that executes scripts within a Truffle environment.
$ npm install -g truffle
For a default set of contracts and tests, run the following within an empty project directory:
$ truffle init
From there, you can run
truffle migrate and
truffle test to compile your contracts, deploy those contracts to the network, and run their associated unit tests.
See the documentation for more details.
Please see the Official Truffle Documentation for guides, tips, and examples.
There are many ways to contribute!
- Write issues in the issues tracker. Please include as much information as possible!
- Take a look at our Waffle for prioritization. Note that this includes issues for Truffle and related tools.
- Contact us in our gitter chat!
Please see the main projects CONTRIBUTING.md for instructions on how to setup a Development Environment to work on Truffle itself.
A project by Consensys and @tcoulter, and many contributers.