Genesis config template + validator key setup guide. Includes the exact block time, epoch length, and gas settings we use for enterprise Besu deployments.
QBFT ships with default settings optimized for local development. In production, wrong block period tanks throughput, wrong request timeout causes leader election storms, and the default gas limit (effectively unlimited) lets a single contract deployment DOS your network.
{
"config": {
"chainId": 1337,
"berlinBlock": 0,
"qbft": {
"blockperiodseconds": 2,
"epochlength": 30000,
"requesttimeoutseconds": 4
}
},
"nonce": "0x0",
"timestamp": "0x0",
"gasLimit": "0x1312D00",
"difficulty": "0x1",
"mixHash": "0x63...",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": {
"balance": "0xad78ebc5ac6200000"
}
},
"extraData": "0xf87aa00000...c0"
}# config.toml — Production settings
[Ethereum]
network-id = 1337
[Mining]
enabled = true
coinbase = "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
[Metrics]
enabled = true
host = "0.0.0.0"
port = 9545
[P2P]
host = "0.0.0.0"
port = 30303
max-peers = 25Enter your work email and we'll send you the complete genesis.json, config.toml, and the 20-item pre-flight checklist.