5

In geth 1.5 the --genesis option has been removed. What do I use instead to add ether to my account?

Martin
  • 83
  • 5

1 Answers1

3

From Command Line Options - Init:

Init

With the init command it is possible to create a chain with a custom genesis block and chain configuration (currently only the homestead transition block can be configured). It respects the --datadir argument and accepts a JSON file describing the chain configuration.

geth --datadir <some/location/where/to/create/chain> init genesis.json

Example genesis.json file:

{
    "config": {
            "homesteadBlock": 10
    },
    "nonce": "0",
    "difficulty": "0x20000",
    "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578",
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "0x",
    "gasLimit": "0x2FEFD8",
    "alloc": {}
}

To use the created chain start geth with:

geth --datadir <some/location/where/to/create/chain> console

(I've added console to the end of the last command).

To pre-allocate ethers to accounts, use the format of the alloc section from github.com/ethereum/go-ethereum/core/genesis.go, lines 202-222:

func OlympicGenesisBlock() string {
    return fmt.Sprintf(`{
        "nonce":"0x%x",
        "gasLimit":"0x%x",
        "difficulty":"0x%x",
        "alloc": {
            "0000000000000000000000000000000000000001": {"balance": "1"},
            "0000000000000000000000000000000000000002": {"balance": "1"},
            "0000000000000000000000000000000000000003": {"balance": "1"},
            "0000000000000000000000000000000000000004": {"balance": "1"},
            "dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "e4157b34ea9615cfbde6b4fda419828124b70c78": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "b9c015918bdaba24b4ff057a92a3873d6eb201be": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "6c386a4b26f73c802f34673f7248bb118f97424a": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "cd2a3d9f938e13cd947ec05abc7fe734df8dd826": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "2ef47100e0787b915105fd5e3f4ff6752079d5cb": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "e6716f9544a56c530d868e4bfbacb172315bdead": {"balance": "1606938044258990275541962092341162602522202993782792835301376"},
            "1a26338f0d905e295fccb71fa9ea849ffa12aaf4": {"balance": "1606938044258990275541962092341162602522202993782792835301376"}
        }
    }`, types.EncodeNonce(42), params.GenesisGasLimit.Bytes(), params.GenesisDifficulty.Bytes())
}

Some further information in What does each genesis.json parameter mean?.

BokkyPooBah
  • 40,274
  • 14
  • 123
  • 193