Development Networks

Sam Richards
Last edit: @samajammin, October 14, 2020
Edit page

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).

Prerequisites

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 (like Geth, OpenEthereum, or Nethermind) 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 mining blocks with each transaction it receives, in order and with no delay
  • Enhanced debugging and logging functionality

Available tools

Note: Most development frameworks include a built-in development network. We recommend starting with a framework to set up your local development environment.

Ganache

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.

Buidler EVM

A local Ethereum network designed for development. It allows you to deploy your contracts, run your tests and debug your code

Buidler EVM come built-in with Buidler, a task runner for Ethereum smart contract developers.

Further reading

Know of a community resource that helped you? Edit this page and add it!