Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier.
According to the developers, these are main features:
- BUILT-IN SMART CONTRACT COMPILATION, LINKING, DEPLOYMENT AND BINARY MANAGEMENT
- Truffle takes care of managing your contract artifacts so you don’t have to. Includes support for custom deployments, library linking and complex Ethereum applications.
- AUTOMATED CONTRACT TESTING FOR RAPID DEVELOPMENT
- SCRIPTABLE DEPLOYMENT & MIGRATIONS FRAMEWORK
- Write simple, manageable deployment scripts that acknowledge your application will change over time. Foster your dapp’s evolution and ensure you can maintain your contracts far into the future.
- NETWORK MANAGEMENT FOR DEPLOYING TO BOTH PUBLIC & PRIVATE NETWORKS
- Don’t manage network artifacts ever again. Let Truffle do it for you, and put your focus on dapp development where it belongs.
- ACCESS TO HUNDREDS OF EXTERNAL PACKAGES
- Pull in hundreds of smart contract dependencies from NPM and EthPM to have your code stand on the shoulders of giants.
- INTERACTIVE CONSOLE FOR DIRECT CONTRACT COMMUNICATION
- Use Truffle to save time and talk to your contracts via an interactive console, which includes access to all your built contracts and all available Truffle commands.
- EXTERNAL SCRIPT RUNNER THAT EXECUTES SCRIPTS WITHIN A TRUFFLE ENVIRONMENT
- Use Truffle to bootstrap your contracts and run a network-aware script, without hassle.
- BUILT FOR SPEED
- Whether you’re compiling contracts or running unit tests, Truffle includes clever optimizations to ensure you only compile what you have to and your tests run as quickly as possible. When used along with Ganache, you can develop your dapps quickly and get real code deployed, fast.
Learn more at official website.