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).
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
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.
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)
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)
Kurtosis is a build system for multi-container test environments which enables developers to locally spin up reproducible instances of blockchain networks.
The Ethereum Kurtosis package can be used to quickly instantiate a parameterizable, highly scaleable, and private Ethereum testnet over Docker or Kubernetes. The package supports all major Execution Layer (EL) and Consensus Layer (CL) clients. Kurtosis gracefully handles all local port mappings and service connections for a representative network to be used in validation and testing workflows relating to Etheruem core infrastructure.
- Ethereum network package(opens in a new tab)
- Website(opens in a new tab)
- GitHub(opens in a new tab)
- Documentation(opens in a new tab)
Know of a community resource that helped you? Edit this page and add it!