Μετάβαση στο κύριο περιεχόμενο
Change page

Development Networks

Τελευταία επεξεργασία: , 21 Φεβρουαρίου 2024

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

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.

Hardhat Network

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:

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.

Kurtosis Ethereum Package

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 scalable, 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 Ethereum core infrastructure.

Further reading

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

Ήταν χρήσιμο αυτό το άρθρο;