An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
besu/docs/Configuring-Pantheon/Config-Items.md

73 lines
2.9 KiB

description: Configuration items specified in the genesis file
<!--- END of page meta data -->
# Configuration Items
Network configuration items are specified in the genesis file.
| Item | Description |
|---------------------|-:----------------------------------------------------------------------------------------------------------------------------------------|
| Chain ID | [Chain ID for the network](NetworkID-And-ChainID.md) |
| Milestone blocks | [Milestone blocks for the network](#milestone-blocks) |
| `ethash` | Specifies network uses [Ethash](../Consensus-Protocols/Overview-Consensus.md) and contains [`fixeddifficulty`](#Fixed Difficulty) |
| `clique` | Specifies network uses [Clique](../Consensus-Protocols/Clique.md) and contains [Clique configuration items](../Consensus-Protocols/Clique.md#genesis-file) |
| `ibft2` | Specifies network uses [IBFT 2.0](../Consensus-Protocols/IBFT.md) and contains [IBFT 2.0 configuration items](../Consensus-Protocols/IBFT.md#genesis-file) |
| `contractSizeLimit` | Maximum contract size in bytes. Specify in [free gas networks](FreeGas.md). 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.
!!! example "Ethereum Mainnet Milestone Blocks"
```json
{
"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.
!!! example "Private Network Milestone Block"
```json
{
"config": {
...
"constantinopleFixBlock": 0,
...
},
}
```
## Fixed Difficulty
Use `fixeddifficulty` to specify a fixed difficulty in private networks using Ethash.
!!! example
```json
{
"config": {
...
"ethash": {
"fixeddifficulty": 1000
},
},
...
}
```