This fixes broken links that where reported via: https://validator.w3.org/checklink?uri=http%3A%2F%2Fgeth.ethereum.org%2Fdocs%2F&hide_type=all&recursive=on&depth=10&check=Check It also moves the 'getting started' pages from /getting-started/... to /docs/getting-started/... In order to not break any old links, redirects from the old location have been added. Co-authored-by: Felix Lange <fjl@twurst.com>
2.3 KiB
| title | sort_key |
|---|---|
| Dev mode | B |
Geth has a development mode that sets up a single node Ethereum test network with 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 transactions are waiting to be mined
Start Geth in Dev Mode
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
For this guide, start geth in dev mode, and enable RPC so you can connect other applications to geth. For this guide, we use Remix, the web-based Ethereum IDE, so also allow its domains to accept cross-origin requests.
geth --datadir test-chain-dir --rpc --dev --rpccorsdomain "https://remix.ethereum.org,http://remix.ethereum.org"
Connect to the IPC console on the node from another terminal window:
geth attach <IPC_LOCATION>
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()
And 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 with the --dev.period 14 argument.
Connect Remix to Geth
With geth now running, open https://remix.ethereum.org. Compile the contract as normal, but when you deploy and run a contract, select Web3 Provider from the Environment dropdown, and add "http://127.0.0.1:8545" to the popup box. Click Deploy, and interact with the contract. You should see contract creation, mining, and transaction activity.