Truffle is the most popular development framework for Ethereum. The full source code of Truffle is on GitHub! Docs here

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. EXTERNAL SCRIPT RUNNER : Use Truffle to bootstrap your contracts and run a network-aware script, without hassle.