Truffle - The most popular Ethereum development framework

  •        70

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.

truffle-contract-schema - JSON schema for contract artifacts

truffle-contract uses a formally specified1 JSON object format to represent Ethereum Virtual Machine (EVM) smart contracts. This representation is intended to facilitate the use of general purpose smart contract abstractions (such as truffle-contract) by capturing relevant smart contract information in a persistent and portable manner.Objects following this schema represent individual smart contracts as defined by their name and interface. Each object primarily includes a JSON array representing the contract's ABI2, but extends to include any and all information related to the contract and its lifecycle(s). Objects in this schema may represent pre-compiled source code, compilation annotations such as source mappings, references to specified deployed instances on multiple networks, and/or links to external contracts.

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.

truffle-deployer - Light deployment module for deploying Ethereum contracts

This package is in the process of being moved to its own module (here). For documentation, see the deployer section within the Truffle migration documentation.

truffle-contract - A better Ethereum contract abstraction, for Node and the browser

Better Ethereum contract abstraction, for Node and the browser.First, set up a new web3 provider instance and initialize your contract, then require("truffle-contract"). The input to the contract function is a JSON blob defined by truffle-contract-schema. This JSON blob is structured in a way that can be passed to all truffle-related projects.

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.

ethernaut - Web3/Solidity based wargame

The ethernaut is a Web3/Solidity based wargame inspired in and in the comic El Eternauta, to be played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'.The game acts both as a tool for those interested in learning ethereum, and as a way to catalogue historical hacks in levels. Levels can be infinite and the game does not require to be played in any particular order.

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.

ganache - Personal blockchain for Ethereum development

Ganache is your personal blockchain for Ethereum development.Please open issues and pull requests for new features, questions, and bug fixes.

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.

mix - The Mix Ethereum Dapp Development Tool

Mix is an IDE that allows developers to build and deploy contracts and decentralized applications on top of the Ethereum blockchain.We are now focusing on remix ( ) which will provide soon the same level of functionality as mix. Remix is in the early stage (alpha version). it only provides VM debugging for now. Remix has already been integrated with browser solidity ( ). You can use it right now.

awesome-smart-contracts - 🕶 List of awesome platforms for smart contracts

Curated list of platforms to run Smart Contracts.Ethereum is a gold standard in smart contracts and has biggest capitalization among other platforms. Majority of token sales go on Ethereum platform, with recently standartized token format ERC-20.

Solidity-Contract-Examples - A repo full of smart contracts written in Solidity

A repo full of smart contracts written in Solidity

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.

sol-builder - A solidity contract builder for the Ethereum platform.

A solidity contract builder for the Ethereum platform.

ethpm-js - Javascript library for publishing and consuming Ethereum packages.

This package provides utilities for publishing and consuming Ethereum packages based on the Ethereum Package Manager specification. It is meant to be integrated directly into development tools to support their use of the Ethereum Package Management ecosystem.This is a joint effort by Truffle, Populus, Dapple and Eris.