5

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

1 Answer 1

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?.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.