When building an Ethereum application with smart contracts, you'll want to run it on a local network to see how it works before deploying it.
Similar to how you might run a local server on your computer for web development, you can use a development network to create a local blockchain instance to test your dapp. These Ethereum development networks provide features that allow for much faster iteration than a public testnet (for instance you don’t need to deal with acquiring ETH from a testnet faucet).
You should understand the basics of the Ethereum stack and Ethereum networks before diving into development networks.
What is a development network?
Development networks are essentially Ethereum clients (implementations of Ethereum) designed specifically for local development.
Why not just run a standard Ethereum node locally?
You could run a node but since development networks are purpose-built for development, they often come packed with convenient features like:
- Deterministically seeding your local blockchain with data (e.g. accounts with ETH balances)
- Instantly producing blocks with each transaction it receives, in order and with no delay
- Enhanced debugging and logging functionality
Note: Most development frameworks include a built-in development network. We recommend starting with a framework to set up your local development environment.
Quickly fire up a personal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates.
Ganache provides both a desktop application (Ganache UI), as well as a command-line tool (
ganache-cli). It is part of the Truffle suite of tools.
A local Ethereum network designed for development. It allows you to deploy your contracts, run your tests and debug your code.
Hardhat Network comes built-in with Hardhat, an Ethereum development environment for professionals.
Local Beacon Chains
Some consensus clients have built-in tools for spinning up local beacon chains for testing purposes. Instructions for Lighthouse, Nimbus and Lodestar are available:
- Local testnet using Lodestar(opens in a new tab)
- Local testnet using Lighthouse(opens in a new tab)
- Local testnet using Nimbus(opens in a new tab)
Public Ethereum Test-chains
There are also two maintained public test implementations of Ethereum: Goerli and Sepolia. The recommended testnet with long-term support is Goerli, which anyone is free to validate on. Sepolia is a newer, smaller chain also expected to be maintained for the foreseeable future, with a permissioned validator set (meaning there is no general access to new validators on this testnet). The Ropsten chain is expected to be deprecated in Q4 2022, and the Rinkeby chain is expected to be deprecated in Q2/Q3 2023.
- Goerli Staking Launchpad(opens in a new tab)
- Ropsten, Rinkeby & Kiln Deprecation Announcement(opens in a new tab)
Know of a community resource that helped you? Edit this page and add it!