Developer Tools
New developers start here
Solidity - The most popular smart contract language.
Metamask - Browser extension wallet to interact with Dapps.
thirdweb - SDKs in every language, smart contracts, tools, and infrastructure for web3 development.
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.
Cryptotux - A Linux image ready to be imported in VirtualBox that includes the development tools mentionned above
OpenZeppelin Starter Kits - An all-in-one starter box for developers to jumpstart their smart contract backed applications. Includes Truffle, OpenZeppelin SDK, the OpenZeppelin/contracts-ethereum-package EVM package of audited smart contract, a react-app and rimble for easy styling.
EthHub.io - Comprehensive crowdsourced overview of Ethereum- its history, governance, future plans and development resources.
EthereumDev.io - The definitive guide for getting started with Ethereum smart contract programming.
Brownie - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts.
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.
Developing Smart Contracts
Smart Contract Languages
Solidity - Ethereum smart contracting language
thirdweb - Provides the tools needed to build custom smart contracts efficiently by offering a set of prebuilt base contracts and a set of reusable components, or extensions, that can be integrated into your own smart contracts.
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.
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).
Remix - Web IDE with built in static analysis, test blockchain VM.
Ethereum Studio - Web IDE. Built in browser blockchain VM, Metamask integration (one click deployments to Testnet/Mainnet), transaction logger and live code your WebApp among many other features.
Atom - Atom editor with Atom Solidity Linter, Etheratom, autocomplete-solidity, and language-solidity packages
Vim solidity - Vim syntax file for solidity
Visual Studio Code - Visual Studio Code extension that adds support for Solidity
Ethcode - Visual Studio Code extension to compile, execute & debug Solidity & Vyper programs
Intellij Solidity Plugin - Open-source plug-in for JetBrains IntelliJ Idea IDE (free/commercial) with syntax highlighting, formatting, code completion etc.
YAKINDU Solidity Tools - Eclipse based IDE. Features context sensitive code completion and help, code navigation, syntax coloring, build in compiler, quick fixes and templates.
Eth Fiddle - IDE developed by The Loom Network that allows you to write, compile and debug your smart contract. Easy to share and find code snippets.
Truffle boxes - Packaged components for the Ethereum ecosystem
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
Patterns for Smart Contract Development
Dappsys: Safe, simple, and flexible Ethereum contract building blocks
has solutions for common problems in Ethereum/Solidity, eg.
should be consulted before creating own, untested, solutions
usage is described in Dapp-a-day 1-10 and Dapp-a-day 11-25
Likely the most widely-used libraries and smart contracts
Similar to Dappsys, more integrated into Truffle framework
Simpler Ethereum Multisig - especially section Benefits
CryptoFin Solidity Auditing Checklist - A checklist of common findings, and issues to watch out for when auditing a contract for a mainnet launch.
aragonOS: A smart contract framework for building DAOs, Dapps and protocols
Upgradeability: Smart contracts can be upgraded to a newer version
Permission control: By using the
auth
andauthP
modifiers, you can protect functionality so only other apps or entities can access itForwarders: aragonOS apps can send their intent to perform an action to other apps, so that intent is forwarded if a set of requirements are met
Organize contracts so they share the same contract storage and Ethereum address.
Solves the 24KB max contract size limit.
Upgrade diamonds by adding/replacing/removing any number of functions in a single transaction.
Upgrades are transparent by recording them with a standard event.
Get information about a diamond with events and/or four standard functions.
Last updated