• Stars
    star
    5,321
  • Rank 7,755 (Top 0.2 %)
  • Language
  • Created over 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A guide to available tools and platforms for developing on Ethereum.

Ethereum Developer Tools List

A guide to available tools, components, patterns, and platforms for developing applications on Ethereum.

Creation of this list was spurred by product managers at ConsenSys who saw a need for better sharing of tools, development patterns, and components amongst both new and experienced blockchain developers.

This resource is meant to be focused on developer tools, but the repo also includes:

Contributions are welcome!

Feel free to submit a pull request, with anything from small fixes to tools you'd like to add (or remove!). If adding a new tool, please add a brief description that you think new developers would understand.

Many thanks to the ~100 contributors including @corbpage and @pakaplace of Meridio for curating, and @jpantunes for restructuring the list in a more logical way.

  • Projects that do not have a working product will not be added.
  • Projects that are deprecated or no longer maintained will be removed.
  • Projects that are paid/restricted services without open source code or developer reviews will be further vetted.

^Is the above fair? Share your input here - #70

Table of Contents

New developers start here

  • Solidity - The most popular smart contract language.
  • Metamask - Browser extension wallet to interact with Dapps.
  • Truffle - Most popular smart contract development, testing, and deployment framework. Install the cli via npm and start here to write your first smart contracts.
  • Truffle boxes - Packaged components for the Ethereum ecosystem.
  • Hardhat - Flexible, extensible and fast Ethereum development environment.
  • Foundry - Smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line.
  • Cryptotux - A Linux image ready to be imported in VirtualBox that includes the development tools mentioned above
  • OpenZeppelin Wizards - Not sure where to start? Use the interactive generator to bootstrap your contract and learn about the components offered in OpenZeppelin Contracts.
  • EthHub.io - Comprehensive crowdsourced overview of Ethereum- its history, governance, future plans and development resources.
  • Brownie - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts.
  • Moralis - Moralis is a cross-chain Enterprise-grade Web3 API that can be used for efficiently indexing blockchain data, authenticate various web3 wallets, and listen to real-time blockchain events
  • Ethereum Stack Exchange - Post and search questions to help your development life cycle.
  • dfuse - Slick blockchain APIs to build world-class applications.
  • Biconomy - Do gasless transactions in your dapp by enabling meta-transactions using simple to use SDK.
  • Blocknative — Blockchain events before they happen. Blocknative's portfolio of developers tools make it easy to build with mempool data.
  • useWeb3.xyz — A curated overview of the best and latest resources on Ethereum, blockchain and Web3 development.
  • Geth — An ethereum development client based in Go.
  • CryptoZombies — An interactive code school that teaches you to write smart contracts in Solidity.
  • Smartcontract challenges — Learn Solidity and Vyper with challenges.
  • Solidity by Example — An introduction to Solidity with simple examples.
  • L2Beat - Discover Ethereum Layer2 solutions and the risks associated with using them.

Developer Tools

Developing Smart Contracts

Smart Contract Languages

  • Solidity - Ethereum smart contracting language
  • Vyper - New experimental pythonic programming language
  • Yul - is an intermediate programming language that is compiled to bytecode for addressing the needs of different backends.
  • Huff - is not so much a language as a tool with features like macros and constants that make it easier to write pure EVM opcodes. Huff can be used to write highly-efficient contracts for use in production, or it can also serve as a way for beginners to learn more about the EVM.
  • Fe-Lang - Fe is a statically typed language for the Ethereum Virtual Machine (EVM). It is inspired by Python and Rust.

Frameworks

  • Truffle - Most popular smart contract development, testing, and deployment framework. The Truffle suite includes Truffle, Ganache, and Drizzle. Deep dive on Truffle here
  • Hardhat - Flexible, extensible and fast Ethereum development environment.
  • Foundry - Smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line.
  • Brownie - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts.
  • Embark - Framework for DApp development
  • Waffle - Framework for advanced smart contract development and testing, small, flexible, fast (based on ethers.js)
  • Dapp - Framework for DApp development, successor to DApple
  • Etherlime - ethers.js based framework for Dapp deployment
  • Parasol - Agile smart contract development environment with testing, INFURA deployment, automatic contract documentation and more. It features a flexible and unopinionated design with unlimited customizability
  • 0xcert - JavaScript framework for building decentralized applications
  • OpenZeppelin SDK - OpenZeppelin SDK: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.
  • sbt-ethereum - A tab-completey, text-based console for smart-contract interaction and development, including wallet and ABI management, ENS support, and advanced Scala integration.
  • Cobra - A fast, flexible and simple development environment framework for Ethereum smart contract, testing and deployment on Ethereum virtual machine(EVM).
  • Epirus - Java framework for building smart contracts.
  • Etherspot - MultiChain Smart Wallet SDK, supports most of the EVM-compatible chains.

IDEs

Other tools

Test Blockchain Networks

  • ethnode - Run an Ethereum node (Geth or Parity) for development, as easy as npm i -g ethnode && ethnode.
  • Ganache - App for test Ethereum blockchain with visual UI and logs
  • Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
  • Besu Private Network - Run a private network of Besu nodes in a Docker container
  • Orion - Component for performing private transactions by PegaSys
  • Artemis - Java implementation of the Ethereum 2.0 Beacon Chain by PegaSys
  • Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
  • Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
  • Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
  • Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
  • Ethereum on Azure - Deployment and governance of consortium Ethereum PoA networks
  • Ethereum on Google Cloud - Build Ethereum network based on Proof of Work
  • Infura - Ethereum API access to Ethereum networks (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
  • CloudFlare Distributed Web Gateway - Provides access to the Ethereum network through the Cloudflare instead of running your own node
  • Chainstack - Shared and dedicated Ethereum nodes as a service (Mainnet, Ropsten)
  • Alchemy - Blockchain Developer Platform, Ethereum API, and Node Service (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
  • ZMOK - JSON-RPC Ethereum API (Mainnet, Rinkeby, Front-running Mainnet)
  • Watchdata - Provide simple and reliable API access to Ethereum blockchain
  • cheapETH - 100% compatible Ethereum network for cheap and easy development

Test Ether Faucets

Communicating with Ethereum

Frontend Ethereum APIs

  • Web3.js - Javascript Web3
  • Eth.js - Javascript Web3 alternative
  • Ethers.js - Javascript Web3 alternative, useful utilities and wallet features
  • useDApp - React based framework for rapid DApp development on Ethereum
  • light.js A high-level reactive JS library optimized for light clients.
  • Web3Wrapper - Typescript Web3 alternative
  • Ethereumjs - A collection of utility functions for Ethereum like ethereumjs-util and ethereumjs-tx
  • Moralis NextJS SDK - An easy to use React hooks library for NextJS dapp to index and monitor various blockchain data
  • Alchemy-web3.js - Javascript Web3 wrapper with automatic retries, access to Alchemy's enhanced APIs, and robust websocket connections.
  • flex-contract and flex-ether - Modern, zero-configuration, high-level libraries for interacting with smart contracts and making transactions.
  • ez-ens - Simple, zero-configuration Ethereum Name Service address resolver.
  • web3x - A TypeScript port of web3.js. Benefits includes tiny builds and full type safety, including when interacting with contracts.
  • Nethereum - Cross-platform Ethereum development framework
  • dfuse - A TypeScript library to use dfuse Ethereum API
  • Drizzle - Redux library to connect a frontend to a blockchain
  • Tasit SDK - A JavaScript SDK for making native mobile Ethereum dapps using React Native
  • useMetamask - a custom React Hook to manage Metamask in Ethereum ĐApp projects
  • WalletConnect - Open protocol for connecting Wallets to Dapps
  • Subproviders - Several useful subproviders to use in conjunction with Web3-provider-engine (including a LedgerSubprovider for adding Ledger hardware wallet support to your dApp)
  • ethvtx - ethereum-ready & framework-agnostic redux store configuration. docs
  • Strictly Typed - Javascript alternatives
  • ChainAbstractionLayer - Communicate with different blockchains (including Ethereum) using a single interface.
  • Delphereum - a Delphi interface to the Ethereum blockchain that allows for development of native dApps for Windows, macOS, iOS, and Android.
  • Torus - Open-sourced SDK to build dapps with a seamless onboarding UX
  • Fortmatic - A simple to use SDK to build web3 dApps without extensions or downloads.
  • Portis - A non-custodial wallet with an SDK that enables easy interaction with DApps without installing anything.
  • create-eth-app - Create Ethereum-powered front-end apps with one command.
  • Scaffold-ETH - Beginner friendly forkable github for getting started building smart contracts.
  • Notify.js - Deliver real-time notifications to your users. With built-in support for Speed-Ups and Cancels, Blocknative Notify.js helps users transact with confidence. Notify.js is easy to integrate and quick to customize.
  • Quiver - A collection of React hooks and components for Ethereum dApps. Built by Raid Guild.
  • Rainbow - RainbowKit is a React library that makes it easy to add wallet connection to your dapp. It's intuitive, responsive and customizable.
  • Nexth - A Next.js + Ethereum starter kit to quickly ship your Web3 projects

Backend Ethereum APIs

  • Web3.py - Python Web3
  • Web3.php - PHP Web3
  • Ethereum-php - PHP Web3
  • Web3j - Java Web3
  • Nethereum - .Net Web3
  • Ethereum.rb - Ruby Web3
  • rust-web3 - Rust Web3
  • Web3.hs - Haskell Web3
  • KEthereum - Kotlin Web3
  • Moralis NodeJS SDK - NodeJS SDK that integrates with Moralis to index EVM chains
  • Moralis Python SDK - Python SDK that integrates with Moralis to index EVM chains
  • Eventeum - A bridge between Ethereum smart contract events and backend microservices, written in Java by Kauri
  • Ethereumex - Elixir JSON-RPC client for the Ethereum blockchain
  • Ethereum-jsonrpc-gateway - A gateway that allows you to run multiple Ethereum nodes for redundancy and load-balancing purposes. Can be ran as an alternative to (or on top of) Infura. Written in Golang.
  • EthContract - A set of helper methods to help query ETH smart contracts in Elixir
  • Marmo - Python, JS, and Java SDK for simplifying interactions with Ethereum. Uses relayers to offload transaction costs to relayers.
  • Ethereum Logging Framework - provides advanced logging capabilities for Ethereum applications and networks including a query language, query processor, and logging code generation
  • Watchdata - Provide simple and reliable API access to Ethereum blockchain
  • w3 - Fast and modular Golang JSON RPC client with first-class ABI support
  • Transpose - Powerful APIs for accessing human-readable Ethereum data at scale.

Bootstrap/Out-of-Box tools

  • Truffle boxes - Packaged components for the Ethereum ecosystem
  • Ethereum Boilerplates - A full-stack boilerplate to get started building dapp on any EVM chains
  • Create Eth App - Create Ethereum-powered frontend apps with one command
  • Besu Private Network - Run a private network of Besu nodes in a Docker container
  • Testchains - Pre-configured .NET devchains for fast response (PoA)
  • Blazor/Blockchain Explorer - Wasm blockchain explorer (functional sample)
  • Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
  • Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
  • Parity Demo-PoA Tutorial - Step-by-Step tutorial for building a PoA test chain with 2 nodes with Parity authority round consensus
  • Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
  • Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
  • Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
  • aragonCLI - aragonCLI is used to create and develop Aragon apps and organizations.
  • ColonyJS - JavaScript client that provides an API for interacting with the Colony Network smart contracts.
  • ArcJS - Library that facilitates javascript application access to the DAOstack Arc ethereum smart contracts.
  • Arkane Connect - JavaScript client that provides an API for interacting with Arkane Network, a wallet provider for building user-friendly dapps.
  • Onboard.js - Blocknative Onboard is the quick and easy way to add multi-wallet support to your project. With built-in modules for more than 20 unique hardware and software wallets, Onboard saves you time and headaches.
  • web3-react - React framework for building single-page Ethereum dApps

Ethereum ABI (Application Binary Interface) tools

  • Online ABI encoder - Free ABI encoder online service that allows you to encode your Solidity contract’s functions and constructor arguments.
  • Online Solidity ABI Encoder - Online Solidity ABI Encoder to encode smart contract arguments, and also perform read and write operations on the blockchain.
  • ABI decoder - library for decoding data params and events from Ethereum transactions
  • ABI-gen - Generate Typescript contract wrappers from contract ABI's.
  • Ethereum ABI UI - Auto-generate UI form field definitions and associated validators from an Ethereum contract ABI
  • headlong - type-safe Contract ABI and Recursive Length Prefix library in Java
  • EasyDapper - Generate dapps from Truffle artifacts, deploy contracts on public/private networks, offers live customizable public page to interact with contracts.
  • One Click dApp - Instantly create a dApp at a unique URL using the ABI.
  • Truffle Pig - a development tool that provides a simple HTTP API to find and read from Truffle-generated contract files, for use during local development. Serves fresh contract ABIs over http.
  • Ethereum Contract Service - A MESG Service to interact with any Ethereum contract based on its address and ABI.
  • Nethereum-CodeGenerator - A web based generator which creates a Nethereum based C# Interface and Service based on Solidity Smart Contracts.
  • EVMConnector - Create shareable contract dashboards and interact with arbitrary EVM-based blockchain functions, with or without an ABI.
  • contract-admin - Minimalistic UI tool for interacting with your smart contracts
  • Smart Contract GUI - Instant access to read from and write to any smart contract directly (on any EVM chain) by simply uploading the ABI. A simple and powerful UX enables rapid execution of smart contract calls locally, on testnets and mainnets. It also comes packed with a host of useful tools for integration testing.
  • Sidekik - Debug, test, and grok smart contracts with a visual UI that lets you interact with local or deployed EVM-based smart contracts. Use cases include hot reloading UI for your smart contracts as you code them, easier auditing without writing scripts to hit a function, end-to-end testing your code before deploying it, and more.
  • Web3 Client - Web IDE allows you to execute methods deployed smart contract and Share with others.

.

Patterns & Best Practices

Patterns for Smart Contract Development
Upgradeability

Infrastructure

Ethereum Clients

  • Besu - an open-source Ethereum client developed under the Apache 2.0 license and written in Java. The project is hosted by Hyperledger.
  • Geth - Go client
  • OpenEthereum - Rust client, formerly called Parity
  • Aleth - C++ client
  • Nethermind - .NET Core client
  • Infura - A managed service providing Ethereum client standards-compliant APIs
  • Trinity - Python client using py-evm
  • Ethereumjs - JS client using ethereumjs-vm
  • Seth - Seth is an Ethereum client tool—like a "MetaMask for the command line"
  • Mustekala - Ethereum Light Client project of Metamask
  • Exthereum - Elixir client
  • EWF Parity - Energy Web Foundation client for the Tobalaba test network
  • Quorum - A permissioned implementation of Ethereum supporting data privacy by JP Morgan
  • Mana - Ethereum full node implementation written in Elixir.
  • Chainstack - A managed service providing elastic and dedicated Geth nodes
  • QuickNode - Blockchain developer cloud with API access and node-as-a-service.
  • Watchdata - Provide simple and reliable API access to Ethereum blockchain
  • NOWNodes - Provide access to ETH node (and 48+ more) and Block Explorer. Get free API key to test blockchain-as-a-service solution
  • Spice - Data and AI managed service, with SQL, API, and Node-as-a-Service.
  • InfStones - Blockchain node service provider, with support for over 60 blockchain protocols.
  • Chainnodes - Web3 Infrastructure provider with enterprise grade low latency for all. Supports all major EVM chains.

Storage

  • IPFS - Decentralised storage and file referencing
    • Mahuta - IPFS Storage service with added search capability, formerly IPFS-Store
    • OrbitDB - Decentralised database on top of IPFS
    • JS IPFS API - A client library for the IPFS HTTP API, implemented in JavaScript
    • Moralis IPFS API - Upload mutliple files to IPFS easily in any language
    • TEMPORAL - Easy to use API into IPFS and other distributed/decentralised storage protocols
    • PINATA - The Easiest Way to Use IPFS
  • Swarm - Distributed storage platform and content distribution service, a native base layer service of the Ethereum web3 stack
  • Arweave - Decentralized and permanent storage
    • Bundlr - Arweave scaling solution with multiple token support
  • Infura - A managed IPFS API Gateway and pinning service
  • 3Box Storage - An api for user controlled, distributed storage. Built on top of IPFS and Orbitdb.
  • Aleph.im - an offchain incentivized peer-to-peer cloud project (database, file storage, computing and DID) compatible with Ethereum and IPFS.
  • DB3 Network - Decentralized Firebase Firestore Alternative.

Messaging

  • Whisper - Communication protocol for DApps to communicate with each other, a native base layer service of the Ethereum web3 stack
  • DEVp2p Wire Protocol - Peer-to-peer communications between nodes running Ethereum/Whisper
  • Pydevp2p - Python implementation of the RLPx network layer
  • 3Box Threads - API to allow developers to implement IPFS persisted, or in memory peer to peer messaging.
  • EPNS SNS Notifications - SNS module for Push Delivery Nodes allows any developer to receive notifications, chats, or any other form of web3 communication directly to the platform they are building with the help of webhooks.

Distribution

  • Meroku - A community owned dApp Store. Package, distribute your dApp without hosting costs.

Testing Tools

  • Truffle Teams - Zero-Config continuous integration for truffle projects
  • Solidity code coverage - Solidity code coverage tool
  • Solidity coverage - Alternative code coverage for Solidity smart-contracts
  • Solidity function profiler - Solidity contract function profiler
  • Sol-profiler - Alternative and updated Solidity smart contract profiler
  • Espresso - Speedy, parallelised, hot-reloading solidity test framework
  • Eth tester - Tool suite for testing Ethereum applications
  • Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
  • Hevm - The hevm project is an implementation of the Ethereum virtual machine (EVM) made specifically for unit testing and debugging smart contracts
  • Ethereum graph debugger - Solidity graphical debugger
  • Tenderly CLI - Speed up your development with human readable stack traces
  • Solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation
  • Ethlint - Linter to identify and fix style & security issues in Solidity, formerly Solium
  • Decode - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
  • truffle-assertions - An npm package with additional assertions and utilities used in testing Solidity smart contracts with truffle. Most importantly, it adds the ability to assert whether specific events have (not) been emitted.
  • Psol - Solidity lexical preprocessor with mustache.js-style syntax, macros, conditional compilation and automatic remote dependency inclusion.
  • solpp - Solidity preprocessor and flattener with a comprehensive directive and expression language, high precision math, and many useful helper functions.
  • Decode and Publish – Decode and publish raw ethereum tx. Similar to https://live.blockcypher.com/btc-testnet/decodetx/
  • Doppelgänger - a library for mocking smart contract dependencies during unit testing.
  • rocketh - A simple lib to test ethereum smart contract that allow to use whatever web3 lib and test runner you choose.
  • pytest-cobra - PyTest plugin for testing smart contracts for Ethereum blockchain.
  • Synpress - Web3-enabled e2e testing tool. A wrapper around Cypress.io with included MetaMask support which allows you to test dapps with ease.

Security Tools

  • MythX - Security verification platform and tools ecosystem for Ethereum developers
  • Mythril - Open-source EVM bytecode security analysis tool
  • Oyente - Alternative static smart contract security analysis
  • Securify - Security scanner for Ethereum smart contracts
  • SmartCheck - Static smart contract security analyzer
  • Ethersplay - EVM disassembler
  • Evmdis - Alternative EVM disassembler
  • Hydra - Framework for cryptoeconomic contract security, decentralised security bounties
  • Solgraph - Visualize Solidity control flow for smart contract security analysis
  • Manticore - Symbolic execution tool on Smart Contracts and Binaries
  • Slither - A Solidity static analysis framework
  • Adelaide - The SECBIT static analysis extension to Solidity compiler
  • solc-verify - A modular verifier for Solidity smart contracts
  • Solidity security blog - Comprehensive list of known attack vectors and common anti-patterns
  • Awesome Buggy ERC20 Tokens - A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
  • Free Smart Contract Security Audit - Free smart contract security audits from Callisto Network
  • Piet - A visual Solidity architecture analyzer
  • Smack My Contract - Web3 Security Scanner Aggregator

Monitoring

  • Moralis Streams API - Stream real-time on-chain events to your webhook from multiple EVM blockchains.
  • Alethio - An advanced Ethereum analytics platform that provides live monitoring, insights and anomaly detection, token metrics, smart contract audits, graph visualization and blockchain search. Real-time market information and trading activities across Ethereum's decentralized exchanges can also be explored.
  • amberdata.io - Provides live monitoring, insights and anomaly detection, token metrics, smart contract audits, graph visualization and blockchain search.
  • Neufund - Smart Contract Watch - A tool to monitor a number of smart contracts and transactions
  • Scout - A live data feed of the activities and event logs of your smart contracts on Ethereum
  • Tenderly - A platform that gives users reliable smart contract monitoring and alerting in the form of a web dashboard without requiring users to host or maintain infrastructure
  • Chainlyt - Explore smart contracts with decoded transaction data, see how the contract is used and search transactions with specific function calls
  • BlockScout - A tool for inspecting and analyzing EVM based blockchains. The only full featured blockchain explorer for Ethereum networks.
  • Terminal - A control panel for monitoring dapps. Terminal can be used to monitor your users, dapp, blockchain infrastructure, transactions and more.
  • Ethereum-watcher - An extensible framework written in Golang for listening to on-chain events and doing something in response.
  • Alchemy Notify - Notifications for mined and dropped transactions, gas price changes, and address activity for desired addresses.
  • Blocknatve Mempool Explorer — Monitor any contract or wallet address and get streaming mempool events for every lifecycle stage — including drops, confirms, speedups, cancels, and more. Automatically decode confirmed internal transactions. And filter exactly how you want. Receive events in our visual, no-code, interface or associate them with your API key to get events via a webhook. Mempool Explorer helps exchanges, protocols, wallets, and traders monitor and act on transactions in real-time.
  • Ethernal - Ethereum block explorer for private chain. Browse transactions, decode function calls, event data or contract variables values on your locally running chain.
  • Forta - A decentralized monitoring network to detect threats and anomalies on DeFi, NFT, governance, bridges and other Web3 systems in real-time.
  • InfStones BlockWatch - Set up alarms to monitor node status for resource utilization. Incorporate notifications for SMS, Slack, phone calls, and emails.
  • Blocktorch - An obvservability platform for the decentralized stack. Get the big picture of all your smart contracts at a glance. Browse through logs across chains and across contracts fast. Set Service Level Objectives to see and get notified about anomalies.
  • Ethereum-datafarm - Easy-to-use console app for parsing historical event data without requiring an archive node. Ethereum-datafarm uses the Etherscan API to parse event data from specified contracts and store it in CSV format.
  • Sidekik - Debug, test, and grok smart contracts with a visual UI that lets you interact with local or deployed EVM-based smart contracts. Easily monitor and browse local chain transactions, decode function calls, and prepare input payloads so you can test your code.

Other Miscellaneous Tools

  • aragonPM - a decentralized package manager powered by aragonOS and Ethereum. aragonPM enables decentralized governance over package upgrades, removing centralized points of failure.
  • Truffle boxes - Packaged components for building DApps fast.
    • Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
  • Solc - Solidity compiler
  • Sol-compiler - Project-level Solidity compiler
  • Solidity cli - Compile solidity-code faster, easier and more reliable
  • Solidity flattener - Combine solidity project to flat file utility. Useful for visualizing imported contracts or for verifying your contract on Etherscan
  • Sol-merger - Alternative, merges all imports into single file for solidity contracts
  • RLP - Recursive Length Prefix Encoding in JavaScript
  • eth-cli - A collection of CLI tools to help with ethereum learning and development
  • Ethereal - Ethereal is a command line tool for managing common tasks in Ethereum
  • Eth crypto - Cryptographic javascript-functions for Ethereum and tutorials to use them with web3js and solidity
  • Parity Signer - mobile app allows signing transactions
  • py-eth - Collection of Python tools for the Ethereum ecosystem
  • truffle-flattener - Concats solidity files developed under Truffle with all of their dependencies
  • Decode - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
  • TypeChain - Typescript bindings for Ethereum smartcontracts
  • EthSum - A Simple Ethereum Address Checksum Tool
  • PHP based Blockchain indexer - allows indexing blocks or listening to Events in PHP
  • Purser - JavaScript universal wallet tool for Ethereum-based wallets. Supports software, hardware, and Metamask -- brings all wallets into a consistent and predictable interface for dApp development.
  • Node-Metamask - Connect to MetaMask from node.js
  • Solidity-docgen - Documentation generator for Solidity projects
  • Ethereum ETL - Export Ethereum blockchain data to CSV or JSON files
  • prettier-plugin-solidity - Prettier plugin for formatting Solidity code
  • Unity3dSimpleSample - Ethereum and Unity integration demo
  • Flappy - Ethereum and Unity integration demo/sample
  • Wonka - Nethereum business rules engine demo/sample
  • Sol2UML Unified Modeling Language (UML) class diagram generator for Solidity contracts
  • Resolver-Engine - A set of tools to standardize Solidity import and artifact resolution in frameworks.
  • eth-reveal - A node and browser tool to inspect transactions - decoding where possible the method, event logs and any revert reasons using ABIs found online.
  • Ethereum-tx-sender - A useful library written in Golang to reliably send a transaction — abstracting away some of the tricky low level details such as gas optimization, nonce calculations, synchronization, and retries.
  • truffle-plugin-verify - Seamlessly verify contract source code on Etherscan from the Truffle command line.
  • Blocknative Gas Platform — Gas estimation for builders, by builders. Gas Platform harnesses Blocknative's real-time mempool data infrastructure to accurately and consistently estimate Ethereum transaction fees. This provides builders and traders with an up-to-the-moment gas fee API.
  • ETH Gas.watch - A gas price watcher with email notifications on price change
  • Diverse Eth Calculator - Ease unit calculations & utility tools. PWA , so you can install it on your mac/windows/linux or android/iphone
  • Cookbook - A platform aggregating all smart contract libraries
  • Ethereum Unit Converter - Online tool to convert the different Ethereum denominations (wei, gwei, ether).
  • Solidity Bytes32 Converter - Online tool to convert Solidity Bytes32 into strings, or numbers and vice versa.

Smart Contract Standards & Libraries

ERCs - The Ethereum Request for Comment repository

  • Tokens
    • ERC-20 - Original token contract for fungible assets
    • ERC-721 - Token standard for non-fungible assets
    • ERC-777 - An improved token standard for fungible assets
    • ERC-918 - Mineable Token Standard
  • ERC-165 - Creates a standard method to publish and detect what interfaces a smart contract implements.
  • ERC-725 - Proxy contract for key management and execution, to establish a Blockchain identity.
  • ERC-173 - A standard interface for ownership of contracts

Popular Smart Contract Libraries

  • Zeppelin - Contains tested reusable smart contracts like SafeMath and OpenZeppelin SDK library for smart contract upgradeability
  • cryptofin-solidity - A collection of Solidity libraries for building secure and gas-efficient smart contracts on Ethereum.
  • Modular Libraries - A group of packages built for use on blockchains utilizing the Ethereum Virtual Machine
  • DateTime Library - A gas-efficient Solidity date and time library
  • Aragon - DAO protocol. Contains aragonOS smart contract framework with focus on upgradeability and governance
  • ARC - an operating system for DAOs and the base layer of the DAO stack.
  • 0x - DEX protocol
  • Token Libraries with Proofs - Contains correctness proofs of token contracts wrt. given specifications and high-level properties
  • Provable API - Provides contracts for using the Provable service, allowing for off-chain actions, data-fetching, and computation
  • ABDK Libraries for Solidity - Fixed-point (64.64 bit) and IEEE-754 compliant quad precision (128 bit) floating-point math libraries for Solidity
  • Cookbook - A platform aggregating all smart contract libraries

Developer Guides for 2nd Layer Infrastructure

Scalability

Payment/State Channels

Plasma

  • Learn Plasma - Website as Node application that was started at the 2018 IC3-Ethereum Crypto Boot Camp at Cornell University, covering all Plasma variants (MVP/Cash/Debit)
  • Plasma MVP - OmiseGO's research implementation of Minimal Viable Plasma
  • Plasma MVP Golang - Golang implementation and extension of the Minimum Viable Plasma specification
  • Plasma Guard - Automatically watch and challenge or exit from Omisego Plasma Network when needed.
  • Plasma OmiseGo Watcher - Interact with Plasma OmiseGo network and notifies for any byzantine events.

Side-Chains

Privacy / Confidentiality

ZK-SNARKs
  • ZoKrates - A toolbox for zkSNARKS on Ethereum
  • The AZTEC Protocol - Confidential transactions on the Ethereum network, implementation is live on the Ethereum main-net
  • Nightfall - Make any ERC-20 / ERC-721 token private - open source tools & microservices
  • Proxy Re-encryption (PRE)
  • NuCypher Network - A proxy re-encryption network to empower data privacy in decentralized systems
  • pyUmbral - Threshold proxy re-encryption cryptographic library
  • Fully Homomorphic Encryption (FHE)
  • NuFHE - GPU accelerated FHE library

Scalability + Privacy

ZK-STARKs

Prebuilt UI Components

More Repositories

1

smart-contract-best-practices

A guide to smart contract security best practices
HTML
7,473
star
2

quorum

A permissioned implementation of Ethereum supporting data privacy
Go
4,581
star
3

mythril

Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Rootstock, Tron and other EVM-compatible blockchains.
Python
3,817
star
4

Tokens

Ethereum Token Contracts
JavaScript
2,059
star
5

eth-lightwallet

Lightweight JS Wallet for Node and the browser
JavaScript
1,466
star
6

gnark

gnark is a fast zk-SNARK library that offers a high-level API to design circuits. The library is open source and developed under the Apache 2.0 license
Go
1,383
star
7

surya

A set of utilities for exploring Solidity contracts
JavaScript
1,076
star
8

ethql

A GraphQL interface to Ethereum 🔥
TypeScript
623
star
9

abi-decoder

Nodejs and Javascript library for decoding data params and events from ethereum transactions
JavaScript
605
star
10

vscode-solidity-auditor

Solidity language support and visual security auditor for Visual Studio Code
JavaScript
568
star
11

teku

Java Implementation of the Ethereum 2.0 Beacon Chain
Java
557
star
12

cakeshop

An integrated development environment and SDK for Ethereum-like ledgers
JavaScript
507
star
13

gnark-crypto

gnark-crypto provides elliptic curve and pairing-based cryptography on BN, BLS12, BLS24 and BW6 curves. It also provides various algorithms (algebra, crypto) of particular interest to zero knowledge proof systems.
Go
487
star
14

Token-Factory

Basic Token Factory dapp.
JavaScript
479
star
15

constellation

Peer-to-peer encrypted message exchange
Haskell
379
star
16

UniversalToken

Implementation of Universal Token for Assets and Payments
JavaScript
346
star
17

doc.linea

Linea documentation
JavaScript
338
star
18

quorum-examples

Examples for Quorum
Shell
317
star
19

scribble

Scribble instrumentation tool
TypeScript
315
star
20

anonymous-zether

A private payment system for Ethereum-based blockchains, with no trusted setup.
Solidity
295
star
21

defi-score

DeFi Score: An open framework for evaluating DeFi protocols
Python
280
star
22

EthOn

EthOn - The Ethereum Ontology
HTML
245
star
23

solidity-metrics

Solidity Code Metrics
JavaScript
235
star
24

Mahuta

IPFS Storage service with search capability
Java
230
star
25

tessera

Tessera - Enterprise Implementation of Quorum's transaction manager
Java
169
star
26

PLCRVoting

Partial Lock Commit Reveal Voting System that utilizes ERC20 Tokens
JavaScript
169
star
27

ethjsonrpc

Python JSON-RPC client for the Ethereum blockchain
Python
156
star
28

linea-attestation-registry

Verax is a shared registry for storing attestations of public interest on EVM chains, designed to enhance data discoverability and consumption for dApps across the network.
TypeScript
129
star
29

zero-knowledge-proofs

Zero Knowledge Proofs and how they can be implemented in Quorum
C++
128
star
30

evm-dafny

An EVM interpreter in Dafny
Dafny
125
star
31

python-solidity-parser

An experimental Solidity parser for Python built on top of a robust ANTLR4 grammar 📚
Python
125
star
32

truffle-security

MythX smart contract security verification plugin for Truffle Framework
JavaScript
124
star
33

solc-typed-ast

A TypeScript package providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.
TypeScript
123
star
34

web3signer

Web3Signer is an open-source signing service capable of signing on multiple platforms (Ethereum1 and 2, Filecoin) using private keys stored in an external vault, or encrypted on a disk.
Java
122
star
35

daedaluzz

Benchmark Generator for Smart-Contract Fuzzers
Solidity
120
star
36

btcrelay-fetchd

Just the fetchd script of btcrelay
Python
116
star
37

ethsigner

DEPRECATED. A transaction signing application to be used with a web3 provider.
Java
112
star
38

ethereum-dissectors

🔍Wireshark dissectors for Ethereum devp2p protocols
C
109
star
39

quorum-dev-quickstart

The Quorum Developer Quickstart utility can be used to rapidly generate local Quorum blockchain networks for development and demo purposes using Besu, GoQuorum, and Codefi Orchestrate.
Solidity
108
star
40

truffle-webpack-demo

A demo Webpack + React App using truffle-solidity-loader
JavaScript
95
star
41

orion

Orion is a PegaSys component for doing private transactions
Java
92
star
42

blockchainSecurityDB

JavaScript
90
star
43

quorum-kubernetes

Helm charts for Hyperledger Besu and GoQuorum
Mustache
85
star
44

quorum-docs

Documentation assets for Quorum
84
star
45

mythx-cli

A command line interface for the MythX smart contract security analysis API
Python
83
star
46

gpact

General Purpose Atomic Crosschain Transaction Protocol
Java
81
star
47

bytecode-verifier

Compile Solidity source code and verify its bytecode matches the blockchain
JavaScript
80
star
48

goff

goff (go finite field) is a unix-like tool that generates fast field arithmetic in Go.
Go
76
star
49

starknet-snap

The MetaMask Snap for Starknet
TypeScript
74
star
50

linea-contracts

Linea smart-contracts
Solidity
73
star
51

eth2.0-dafny

Eth2.0 spec in Dafny
Dafny
72
star
52

zsl-q

ZSL on Quorum
C++
71
star
53

security-workshop-for-devs

Secure smart contract development workshop hosted by ConsenSys Diligence and MythX.
70
star
54

Legions

Ethereum/EVM Node Security Toolkit
Python
69
star
55

support-metamask-io

Public-facing repository of content live on support.metamask.io. Open for contributions and suggestions.
MDX
66
star
56

quorum-docker-Nnodes

Run a bunch of Quorum nodes, each in a separate Docker container.
Shell
65
star
57

Project-Alchemy

Ethereum-Zcash Integration effort
63
star
58

handel

Multi-Signature Aggregation in a Large Byzantine Committees
Go
53
star
59

qubernetes

Quorum on Kubernetes.
Go
52
star
60

Uniswap-audit-report-2018-12

51
star
61

quorum-tools

Tools for running Quorum clusters and integration tests
Haskell
51
star
62

doc.teku

ConsenSys Ethereum 2.0 client
CSS
47
star
63

vscode-solidity-metrics

Generate Solidity Source Code Metrics, Complexity and Risk profile reports for your project.
JavaScript
46
star
64

private-networks-deployment-scripts

This repository contains out-of-the-box deployment scripts for private PoA networks
Shell
45
star
65

awesome-quorum

A curated list of awesome softwares, libraries, tools, articles, educational resources, discussion channels and more to build on ConsenSys Quorum.
45
star
66

wittgenstein

Simulator for some PoS or consensus algorithms. Includes dfinity, casper IMD and others
Java
45
star
67

linea-tutorials

An EVM-equivalent zk-rollup for scaling Ethereum dapps
Shell
43
star
68

vscode-ethover

Ethereum Account Address Hover Info and Actions
JavaScript
42
star
69

permissioning-smart-contracts

Smart contracts for the Besu permissioning system
TypeScript
41
star
70

besu-sample-networks

Hyperledger Besu Ethereum client quick-start makes you able to simply test all Besu features.
40
star
71

linea-token-list

Linea Token List
TypeScript
39
star
72

0x-review

Security review of 0x smart contracts
HTML
39
star
73

quorum-key-manager

A universal Key & Account Management solution for blockchain applications.
Go
39
star
74

mythx-playground

Exercises to go along with smart contract security workshops by MythX and ConsenSys Diligence
Solidity
39
star
75

kubernetes-action

GitHub Action to run kubectl
Dockerfile
38
star
76

evm-analyzer-benchmark-suite

A benchmark suite for evaluating the precision of EVM code analysis tools.
HTML
38
star
77

quorum-cloud

Deploy Quorum network in a cloud provider of choice
HCL
36
star
78

quorum.js

Quorum.js is an extension to web3.js providing support for JP Morgan's Quorum API
JavaScript
36
star
79

web3js-eea

EEA JavaScript libraries.
JavaScript
35
star
80

truffle-solidity-loader

A Webpack loader that will parse and provision Solidity files to Javascript using Truffle for compilation
JavaScript
35
star
81

secureum-diligence-bootcamp

Solidity
35
star
82

rimble-app-demo

React Ethereum dApp demonstrating onboarding and transaction UX
JavaScript
35
star
83

linea-monorepo

The principal Linea repository. This mainly includes the smart contracts covering Linea's core functions, the prover in charge of generating ZK proofs, the coordinator responsible for multiple orchestrations, and the postman to execute bridge messages.
Go
35
star
84

linea-tracer

Part of the Linea stack responsible for extracting data from the execution of an EVM client in order to construct large matrices called execution traces.
Java
34
star
85

infura-sdk

Infura NFT SDK
TypeScript
34
star
86

web3studio-soy

Static Websites on the Distributed Web
JavaScript
33
star
87

pythx

A Python library for the MythX smart contract security analysis platform
Python
33
star
88

quorum-aws

Tools for deploying Quorum clusters to AWS
HCL
33
star
89

react-metamask

JavaScript
32
star
90

diligence-fuzzing

Python
32
star
91

boilerplate-react

React app boilerplate by ConsenSys France
JavaScript
29
star
92

hellhound

HellHound is a decentralized blind computation platform.
Go
29
star
93

aragraph

Visualize your Aragon DAO Templates
JavaScript
29
star
94

quorum-wizard

Quorum Wizard is a command line tool that allow users to set up a development Quorum network on their local machine in less than 2 minutes.
JavaScript
28
star
95

doc.goquorum

Documentation site for GoQuorum, the ConsenSys Enterprise Ethereum client
CSS
27
star
96

quorum-explorer

A light-weight front-end explorer for Besu and GoQuorum to visualise private networks and deploy smart contracts
TypeScript
27
star
97

mythxjs

TypeScript
26
star
98

hackathon-2021-dapp-workshop

JavaScript
25
star
99

0x_audit_report_2018-07-23

0x Protocol v2 Audit
HTML
24
star
100

web3js-quorum

JavaScript
24
star