Truffle is the most popular development framework for Ethereum. The full source code of Truffle is on GitHub! Docs here
- SMART CONTRACT LIFECYCLE 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 : Bring your dapp development to the 21st century. Write automated tests for your contracts in both JavaScript and Solidity, and get your contracts developed quickly.
- SCRIPTABLE DEPLOYMENT & MIGRATIONS : 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.
- SIMPLE NETWORK MANAGEMENT : Don't manage network artifacts ever again. Let Truffle do it for you, and put your focus on dapp development where it belongs.
- POWERFUL INTERACTIVE CONSOLE : 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 : Use Truffle to bootstrap your contracts and run a network-aware script, without hassle.