Felix Lange 7416b05b81
[DOCS] massive documentation update (#20229)
This PR:

- reorganizes all documentation pages so they live in the right category
- removes lots of legacy docs
- contains many improvements to active documentation pages

Geth user documentation is now spread across five major categories:

- Install and Build: installation and compile instructions
- Using Geth: this is for pages about general geth usage.
- For dApp Developers: this is for programming guides and functionality specific
   to dapp development. All the dev guides for mobile framework and Go APIs live here.
- JSON-RPC APIs: this has its own section because there is now a sub-page for
   every name space. I have also added an overview text that explains how to set
   up the API servers.
- For Geth Developers: this is for geth contributors
2019-11-05 13:46:00 +01:00

1.5 KiB

title, sort_key
title sort_key
Dev mode B

Geth has a development mode which sets up a single node Ethereum test network with a number of options optimized for developing on local machines. You enable it with the --dev argument.

Starting geth in dev mode does the following:

  • Initializes the data directory with a testing genesis block
  • Sets max peers to 0
  • Turns off discovery by other nodes
  • Sets the gas price to 0
  • Uses the Clique PoA consensus engine with which allows blocks to be mined as-needed without excessive CPU and memory consumption
  • Uses on-demand block generation, producing blocks when there are transactions waiting to be mined

You can specify a data directory to maintain state between runs using the --datadir option, otherwise databases are ephemeral and in-memory:

$ mkdir test-chain-dir
$ geth --dev --datadir test-chain-dir console

Once geth is running in dev mode, you can interact with it in the same way as when geth is running in other ways.

For example, create a test account:

> personal.newAccount()

Then transfer ether from the coinbase to the new account:

> eth.sendTransaction({from:eth.coinbase, to:eth.accounts[1], value: web3.toWei(0.05, "ether")})

And check the balance of the account:

> eth.getBalance(eth.accounts[1])

If you want to test your dapps with a realistic block time use the --dev.period option when you start dev mode:

geth --dev --dev.period 14 console