Truffle - The most popular Ethereum development framework

  •        84

Truffle is the most popular development framework for Ethereum with a mission to make your life a whole lot 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.



Related Projects

web3j - Connect Java and Android apps to the Ethereum blockchain

web3j is a lightweight, reactive, type safe Java and Android library for integrating with clients (nodes) on the Ethereum network. This allows you to work with the Ethereum blockchain, without the additional overhead of having to write your own integration code for the platform.

Solidity - The Solidity Contract-Oriented Programming Language

Solidity is a contract-oriented, high-level language for implementing smart contracts. It was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM). It is statically typed, supports inheritance, libraries and complex user-defined types among other features.

OpenZeppelin - A Framework to build secure smart contracts on Ethereum

OpenZeppelin is a library for writing secure Smart Contracts on Ethereum. With OpenZeppelin, you can build distributed applications, protocols and organizations. It is meant to provide secure, tested and audited code to enable the new generation of distributed applications, protocols and organizations. OpenZeppelin is a community effort to reduce the hurdle to develop and use them.

Ethereum - Blockchain APP Platform

Ethereum is a  decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference. These apps run on a custom built  blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property. 

btcrelay - Ethereum contract for Bitcoin SPV: Live on https://etherscan

The address and ABI is all that's needed to use BTC Relay, in addition to the API documentation below.Verifies the presence of a transaction on the Bitcoin blockchain, primarily that the transaction is on Bitcoin's main chain and has at least 6 confirmations.

BlockchainStore - :moneybag: Retail Store that runs on Ethereum

It is written in Solidity and represents a retail store. It supports customer and product registrations. Every registered customer owns a shopping cart to collect products before checking out.

manticore - Symbolic execution tool

Manticore is a symbolic execution tool for analysis of binaries and smart contracts. Manticore is supported on Linux and requires Python 2.7. Ubuntu 16.04 is strongly recommended. Ethereum smart contract analysis requires the solc program in your $PATH.

eth-private-net - Create your own Ethereum private net

eth-private-net is a simple tool that allows you to quickly setup a three-node private Ethereum network running locally on your personal computer. The tool makes initializing, starting, and connecting nodes fast and easy. The network comes with three pre-made identities (Alice, Bob, and Lily) and a tutorial that walks you through simple actions like mining and transferring Ether, and culminates with the deployment and execution of a simple smart contract called FreeBeer. I wrote this tool because I found a lot of the Ethereum tooling opaque and difficult to understand. A lot of the information that I needed to know was scattered through the documentation, and there wasn't a single place that wrapped together the most instructive examples to build my understanding. Moreover, I wanted a tool that would allow me to repeatedly reinitialize a network from a known, clean state to help me experiment with building, deploying, and running smart contracts.

ganache-cli - Fast Ethereum RPC client for testing and development

Ganache CLI, part of the Truffle suite of Ethereum development tools, is the command line version of Ganache, your personal blockchain for Ethereum development.Ganache CLI uses ethereumjs to simulate full client behavior and make developing Ethereum applications faster, easier, and safer. It also includes all popular RPC functions and features (like events) and can be run deterministically to make development a breeze.

solgraph - Visualize Solidity control flow for smart contract security analysis

Generates a DOT graph that visualizes function control flow of a Solidity contract and highlights potential security vulnerabilities.

Waves - Blockchain platform

Waves is an open-source blockchain platform, that allows users to launch their own custom cryptocurrency tokens. Whilst popular cryptocurrencies such as Bitcoin and Ethereum can be traded on external exchanges, and Ethereum allows users to create new tokens on the platform using a smart contract, Waves includes this functionality in its core software and wallet. Users can create, transfer and exchange blockchain tokens on a peer-to-peer basis, paying transaction fees in the native WAVES token.

monax - The Ecosystem Application Platform

monax is a tool which makes it easy for developers to build, test, manage, and operate smart contract applications. No matter the blockchain.For the motivation behind this tool see this post.

Vyper - New experimental programming language

Viper is an experimental programming language that aims to build secure smart contracts, Code should be maximally human-readable and lot more. Viper does NOT strive to be a 100% replacement for everything that can be done in Solidity; it will deliberately forbid things or make things harder if it deems fit to do so for the goal of increasing security.

webthree-umbrella - Former home of cpp-ethereum (Oct 2015 to Aug 2016)

cpp-ethereum is the Ethereum C++ client.This repository was an "umbrella" repository which was the home for the various C++ projects betwen October 2015 and August 2016. Prior to that point all the work had happened under a single repository (cpp-ethereum), and that is where all C++ runtime development work has now returned, with solidity now being a standalone repository.

go-ethereum - Official Go implementation of the Ethereum protocol

Official golang implementation of the Ethereum protocol.Automated builds are available for stable releases and the unstable master branch. Binary archives are published at

parity - Fast, light, robust Ethereum implementation.

Be sure to check out our wiki and the internal documentation for more information.Parity's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity using the sophisticated and cutting-edge Rust programming language. Parity is licensed under the GPLv3, and can be used for all your Ethereum needs.

browser-solidity - Browser-Only Solidity IDE and Runtime Environment

Remix (aka. Browser-Solidity) is a browser-based Solidity compiler and IDE.Visit to use; it will always deliver the latest version.

EIPs - The Ethereum Improvement Proposal

Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.First review EIP-1. Then clone the repository and add your EIP to it. There is a template EIP here. Then submit a Pull Request to Ethereum's EIPs repository.

Genesis Smart Framework

The Genesis Smart Client Framework is a application development framework that allows developers to develop modules of code that is hosted inside of the framework. The framework takes care of user security, application deployment and online data access.