AlphaPerfect / ethereum-dev-net

Utilities for bootstrapping Ethereum local one-node dev network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ethereum dev network

This repo contains scripts for bootstrapping and running local one-node Ethereum network for development use.

The bootstrapped network with these parameters is already included:

Network id: 12342
Difficulty: 1
Gas limit: 4712389
Engine: ethash

Ten accounts are already created and pre-allocated with Ξ999 each. These accounts are generated using mnemonic candy maple cake sugar pudding cream honey rich smooth crumble sweet treat, which you can use when developing with MetaMask. Also, they match ones generated by truffle develop.

0x627306090abab3a6e1400e9345bc60c78a8bef57 (private key c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3, password 0)
0xf17f52151ebef6c7334fad080c5704d77216b732 (private key ae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f, password 1)
0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef (private key 0dbbe8e4ae425a6d2687f1a7e3ba17bc98c673636790f1b8ad91193c05875ef1, password 2)
0x821aea9a577a9b44299b9c15c88cf3087f3b5544 (private key c88b703fb08cbea894b6aeff5a544fb92e78a18e19814cd85da83b71f772aa6c, password 3)
0x0d1d4e623d10f9fba5db95830f7d3839406c6af2 (private key 388c684f0ba1ef5017716adb5d21a053ea8e90277d0868337519f97bede61418, password 4)
0x2932b7a2355d6fecc4b5c0b6bd44cc31df247a2e (private key 659cbb0e2411a44db63778987b1e22153c086a95eb6b18bdf89de078917abc63, password 5)
0x2191ef87e392377ec08e7c08eb105ef5448eced5 (private key 82d052c865f5763aad42add438569276c00d3d88a2d062d36b2bae914d58b8c8, password 6)
0x0f4f2ac550a1b4e2280d04c21cea7ebd822934b5 (private key aa3680d5d48a8283413f7a108367c7299ca73f553735860a87b08f39395618b7, password 7)
0x6330a553fc93768f612722bb8c2ec78ac90b3bbc (private key 0f62d96d6675f32685bbdb8ac13cda7c23436f63efbb9d07700d8669ff12b7c4, password 8)
0x5aeda56215b167893e80b4fe645ba6d5bab767de (private key 8d5366123cb560bb606379f90a0bfd4769eecc0557f1b362dcae9012b548b1e5, password 9)

Running network

Use ./run-geth command. Each time you run it, the blockchain will be reset to checkpoint state (which is contained in blockchain.tar.gz), so all changes made by the previous run will be rolled back. This is useful when running tests, but you can disable this behavior by passing -R flag: ./run-geth -R.

By default, only two first accounts are unlocked when geth starts. To auto-unlock more accounts, edit run-geth.sh and change --unlock flag, e.g. --unlock '0,1,2,3,4,5,6,7,8,9' to unlock all ten accounts.

Bootstrapping new blockchain

This is needed if you want different parameters (e.g. gas limit, difficulty) than of the pre-bootstrapped chain included in this repo.

  1. Remove blockchain.tar.gz.
  2. Edit parameters in genesis.json.
  3. If you have changed config.chainId in genesis.json, update --networkid flag in run-geth.sh and init-blockchain.sh to match it.
  4. Run ./init-blockchain.sh.
  5. Run ./run-geth.sh -R and make any changes you wish to checkpoint (adding accounts, making transactions). To add accounts from private keys, use personal.importRawKey(key, password). Exit geth.
  6. Archive generated chain and accounts: tar -cvzf blockchain.tar.gz .blockchain.
  7. Update geth-passwords.txt if needed.

About

Utilities for bootstrapping Ethereum local one-node dev network


Languages

Language:Shell 100.0%