# Development networks

When building an Electroneum Smart Chain 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 Electroneum Smart Chain development networks provide features that allow for much faster iteration than a public testnet (for instance you don’t need to deal with acquiring ETN from a testnet faucet).

## Prerequisites <a href="#prerequisites" id="prerequisites"></a>

You should understand the [basics of the Electroneum Smart Chain stack](https://developer.electroneum.com/electroneum-stack) and [Electroneum networks](https://developer.electroneum.com/etn-sc-client/fundamentals/private-networks) before diving into development networks.

## What is a development network? <a href="#what-is-a-development-network" id="what-is-a-development-network"></a>

Development networks are essentially Electroneum Smart Chain clients designed specifically for local development.

#### **Why not just run a standard Electroneum Smart Chain node locally?**

You *could* [run a node](https://developer.electroneum.com/etn-sc-client) 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 ETN balances)
* Instantly producing blocks with each transaction it receives, in order and with no delay
* Enhanced debugging and logging functionality

## Available tools <a href="#available-projects" id="available-projects"></a>

As the Electroneum Smart Chain is based on the Ethereum Virtual Machine and RPC, much of the Ethereum tooling can also be used with our smart chain.

**Note**: Most [development frameworks](https://developer.electroneum.com/electroneum-stack/development-frameworks) include a built-in development network. We recommend starting with a framework to set up your local development environment.

### Ganache <a href="#ganache" id="ganache"></a>

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.

* [Website↗](https://www.trufflesuite.com/ganache)
* [GitHub↗](https://github.com/trufflesuite/ganache)
* [Documentation↗](https://www.trufflesuite.com/docs/ganache/overview)

### Hardhat Network <a href="#hardhat-network" id="hardhat-network"></a>

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.

* [Website↗](https://hardhat.org/)
* [GitHub↗](https://github.com/nomiclabs/hardhat)

### Related Topics <a href="#related-topics" id="related-topics"></a>

* [Development frameworks](https://developer.electroneum.com/electroneum-stack/development-frameworks)
