A guide to available tools, components, patterns, and platforms for developing 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.
Feel free to submit a pull request, with anything from small fixes to tools you'd like to add. If adding a new tool, please add a brief description that you think new developers would understand.
-
Truffle - Most popular smart contract development, testing, and deployment framework **Ganache- App for test Ethereum blockchain with visual UI and logs
-
Embark- Framework for DApp development
-
Infura - API gateway so you don’t have to host your own ETH node
-
Mythril - Static smart contract security analysis
-
Oyente- Static smart contract security analysis
-
Solidity code coverage - solidity code coverage tool
-
Quantstamp A service that offers automated and manual smart contract security audits for a fee
-
Manticore Symbolic execution tool on Smart Contracts and Binaries
-
Remix- Web IDE with built in static analysis, test blockchain VM.
-
Atom Solidity Linter- Atom package for Solidity linting
-
Visual Studio Code - Visual Studio Code extension that adds support for Solidity
-
Solc - Solidity compiler
-
ethereum-graph-debugger - Solidity graphical debugger
-
py-eth - Collection of Python tools for the Ethereum ecosystem
-
Solidity - Ethereum smart contracting language. Read the docs, play CryptoZombies and Chainshot building blocks, or checkout Consensys Academy
-
Vyper - Experimental pythonic smart contracting language. Alternative to Solidity, but still under development.
-
Web3.js - Javascript
-
Ethers.js - Javascript library for ethereum wallet implementation and utilities
-
Eth.js - Lightweight alternative
-
Web3j - Java
-
Nethereum - .Net
-
Web3.py - python implementation of web3.js
-
Pyethereum - Python version of web3
-
Drizzle - Redux library to connect a frontend to a blockchain
-
Web3.hs - Haskell implementation of Web3
-
Truffle boxes - Packaged components for the Ethereum ecosystem
-
Solutions PoC Starter app - Simple MERN stack with built in token use case, uPort signing, and more.
-
Paris Solutions stack - Very private chain focused but production ready solution.
-
Viant - Just consider using Viant as your backend if the use case is business process oriented.
-
Kaleido - Use Kaleido for spinning up a consortium network. Great for PoCs and testing.
-
Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
-
Metamask - Easiest way to get started using a dapp. Chrome extension Ether wallet.
-
Ether Address Lookup - Chrome extension for phishing protection and Eth address highlighting
-
Portis - web-based wallet for easy user onboarding to your DApp, no download required
-
uPort - Total identity solution.
-
imToken - imToken is a feature-rich digital asset mobile wallet enabling multi-chain asset management, DApp browsing and secure, private exchange of value.
-
Cypher - Mobile dapp explorer
-
MyCrypto - Ethereum blockchain interface. Access your wallet locally. Contract interaction and deployment. Swaps. Transaction status lookup. Testnet and 3rd-party ETH-based chain support.
-
Trustology - Under development. Institutional custody.
-
Jaxx Both a mobile and a desktop wallet. Has integrated Shapeshift support
-
Exodus Desktop wallet with Shapeshift integration
-
Gnosis multisig wallet
-
WallETH - native Android Ethereum Wallet
-
Hardware wallets
-
Mustekala - blockchain services framework
-
IPFS-Store - IPFS Storage service with added search capability
-
Eventeum - A bridge between Ethereum smart contract events and backend microservices, written in Java by Kauri.
-
Web3.js - Javascript
- Eth.js - Lightweight alternative
-
Web3j - Java
-
KEthereum - Kotlin
-
Nethereum - .Net
-
Pyethereum - Python
-
Ethers.js- Web3 Alternative
-
Drizzle - Redux library to connect a frontend to a blockchain
-
Block explorers
-
Etherscan - most popular centralized way to view Eth transactions and contract code
-
POA Explorer - Open Source Ethereum Block explorer, funded by Ethprize and developed by POA
-
QuickBlocks- QuickBlocks is a collection of software libraries, applications, tools, and examples that allow you to retrieve Ethereum blockchain data (a) more quickly, (b) with higher information content, (c) in an fully decentralized way, (d) in a fully automated way, and (e) in a highly maintenance free way.)
-
Etherchain lite- Lightweight blockchain explorer for your private Ethereum chain
-
Alethio EthStats 2.0 coming soon
-
Supermax- A live data feed of the activities and event logs of your smart contracts on Ethereum
-
-
Gas price calculators and tools
-
EthGasStation - website for estimating tx prices vs times
-
Petrometer- petrometer is a tool which summarizes daily and total gas consumption of all transactions sent from a specified Ethereum address.
-
CryptoProf- Gas profiler for smart contracts
-
-
Contract Standards
-
Tokens
-
Utilities
-
-
Side-Chains
- POA Network
- [POA Bridge] (http://bridge.poa.net/)
- [POA Bridge UI] (https://github.com/poanetwork/bridge-ui)
- [POA Bridge Contracts] (https://github.com/poanetwork/poa-bridge-contracts)
- Loom Network
- POA Network
-
Decentralized Exchanges
-
Airswap - decentralized token exchange
-
0x protocol based decentralized exchanges
-
Opensea.io- decentralized exchange of cryptocollectibles
-
-
KYC/AML Onboarding
-
SmartAML protospoke
-
Third party centralized versions
-
-
Registry Framework for Digital Assets
-
Oracles
- Oracalize- oracle service for your smart contracts.
-
Incentivization / Monetization Tools
-
Hash calculator tool
- MD4 Online Hash Function - Tool to hash input with a variety of hashing algorithm options
-
Safety wiki- Ethereum Foundation wiki on safety
-
Smart contract best practices - " Standard published by Consensys
- ERC-721 - A peek into debate and consensus-reaching on a token standard for non-fungible assets
- Eth Research Chat - Gitter-like forum for ongoing Ethereum Foundation research projects
- Ethereum Development with Go - A guide on getting started on Ethereum DApp development with Golang.
- Comprehensive Medium article on various solutions to scale Ethereum