Genesis
Introduction
Geth is widely used to interact with Ethereum networks. Ethereum software enables a user to set up a
“private” or “testnet” Ethereum chain. This chain will be totally different from main chain.
Component that tell ​geth​ that we want to use/create a private Ethereum Chain:
1. Custom Genesis file
2. Custom Data Directory
3. Custom Network Id
4. Disable Node Discovery
Genesis
Genesis block is the start block of the blockchain, i.e., ​block 0. ​A block which not points to a predecessor
block.
Coinbase
This is ​meaningless​ in the genesis block, but the goal was to make the genesis block look identical to any
other block on the blockchain, so the value exist.
Mixhash, Nonce
Both used together to determine if the block was mined properly. These are ​meaningless​ in genesis block.
But make them a random value is good, so that other peers don’t accidently connect to your chain by
having the same exact genesis.
Gaslimit
The maximum number of computations any block on that chain can support. (Set it to a high value to avoid
being limited when testing).
Difficulty
It is mining difficulty. It should be set to low so miner can easily mine.
ParentHash
The 256-bit hash of the previous blocks header. This is ​meaningless​ in the genesis block since block 0
has no parent.
Timestamp
Output of Unix time() function, when the block was created.
Alloc
Pre-funded address (40 digits hex string). This will not create an account in genesis.
Config
Blockchain Configuration
eip155Block
Ethereum Improvement Proposal, where developers propose ideas to improve Ethereum.
homesteadBlock
Second major release of Ethereum. First one was ​Frontier.

Ethereum genesis

  • 1.
    Genesis Introduction Geth is widelyused to interact with Ethereum networks. Ethereum software enables a user to set up a “private” or “testnet” Ethereum chain. This chain will be totally different from main chain. Component that tell ​geth​ that we want to use/create a private Ethereum Chain: 1. Custom Genesis file 2. Custom Data Directory 3. Custom Network Id 4. Disable Node Discovery Genesis Genesis block is the start block of the blockchain, i.e., ​block 0. ​A block which not points to a predecessor block. Coinbase This is ​meaningless​ in the genesis block, but the goal was to make the genesis block look identical to any other block on the blockchain, so the value exist. Mixhash, Nonce Both used together to determine if the block was mined properly. These are ​meaningless​ in genesis block. But make them a random value is good, so that other peers don’t accidently connect to your chain by having the same exact genesis. Gaslimit The maximum number of computations any block on that chain can support. (Set it to a high value to avoid being limited when testing). Difficulty It is mining difficulty. It should be set to low so miner can easily mine. ParentHash The 256-bit hash of the previous blocks header. This is ​meaningless​ in the genesis block since block 0 has no parent. Timestamp Output of Unix time() function, when the block was created. Alloc Pre-funded address (40 digits hex string). This will not create an account in genesis. Config Blockchain Configuration eip155Block Ethereum Improvement Proposal, where developers propose ideas to improve Ethereum. homesteadBlock Second major release of Ethereum. First one was ​Frontier.