Configuration Items

Network configuration items are specified in the Hyperledger Besu genesis file.

Item Description
Chain ID Chain ID for the network
Milestone blocks Milestone blocks for the network
ethash Specifies network uses Ethash and contains fixeddifficulty
clique Specifies network uses Clique and contains Clique configuration items
ibft2 Specifies network uses IBFT 2.0 and contains IBFT 2.0 configuration items
contractSizeLimit Maximum contract size in bytes. Specify in free gas networks. Default is 24576 and the maximum size is 2147483647.
evmStackSize Maximum stack size. Specify to increase the maximum stack size in private networks with very complex smart contracts. Default is 1024.

Milestone Blocks

In public networks, the milestone blocks specify the blocks at which the network changed protocol.

Ethereum Mainnet Milestone Blocks

{
  "config": {
    ...
    "homesteadBlock": 1150000,
    "daoForkBlock": 1920000,
    "daoForkSupport": true,
    "eip150Block": 2463000,
    "eip150Hash": "0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0",
    "eip155Block": 2675000,
    "eip158Block": 2675000,
    "byzantiumBlock": 4370000,
    "constantinopleBlock": 7280000,
    "constantinopleFixBlock": 7280000,
    ...
  },
}

In private networks, the milestone block defines the protocol version for the network.

Private Network Milestone Block

{
  "config": {
    ...
    "constantinopleFixBlock": 0,
    ...
  },
}

Tip

When you specify EIPs, you can specify only the latest one because the EIPs that precede it are implied.

Fixed Difficulty

Use fixeddifficulty to specify a fixed difficulty in private networks using Ethash.

Example

{
  "config": {
      ...
      "ethash": {
        "fixeddifficulty": 1000
      },

   },
  ...
}