2.8 KiB
2.8 KiB
Cancun Fork Status – ChainID 138
Summary
Adding Cancun is already done in your production genesis. No extra work is required for the chain config.
Current State
Production genesis (genesis-138.json)
The phase1 genesis used for deployment already enables Shanghai and Cancun from block 0:
"shanghaiTime": 0,
"cancunTime": 0,
- Source:
smom-dbis-138/terraform/phases/phase1/config/genesis-138.json - Deployed to: Besu nodes via phase1 scripts (e.g.
/genesis/genesis.jsonor/opt/besu/config/genesis.json)
So the chain is already configured for Cancun at genesis.
Genesis template
config/genesis-template.json has been updated to include shanghaiTime: 0 and cancunTime: 0, so any new genesis generated from this template will also have Cancun from block 0.
EIP-7702 (delegation) on top of Cancun
EIP-7702 requires:
- Cancun fork – ✅ Already in genesis (
cancunTime: 0). - Besu 24.1.0+ – Must be checked on each node.
To confirm Besu version on all nodes:
# Full list (validators, sentries, RPC)
PROXMOX_HOST=192.168.11.10 ./scripts/check-besu-version-all-nodes.sh
# Quick check on running RPC VMIDs only
BESU_VMIDS="2101 2400 2401 2402" ./scripts/check-besu-version-all-nodes.sh
Last run (sample): VMIDs 2400 and 2402 reported Besu 23.10.0 (below 24.1.0). Use the project upgrade script to bring all nodes to latest:
# From repo root (proxmox)
./scripts/upgrade-besu-all-nodes.sh # upgrade to 25.12.0
./scripts/upgrade-besu-all-nodes.sh --dry-run # show what would be done
BESU_VERSION=25.11.0 ./scripts/upgrade-besu-all-nodes.sh
- Ensure every Besu node runs Besu 24.1.0 or later.
- Ensure the deployed genesis on each node is the one that contains
cancunTime: 0(i.e. your currentgenesis-138.jsonor equivalent). - Use
scripts/enable-eip-7702-besu.shto verify genesis and remind about the Besu version requirement.
If you were adding Cancun from scratch
Difficulty: low.
- Genesis: In the genesis
configobject add (time-based) or block-based equivalents:"shanghaiTime": 0(or a Unix timestamp)"cancunTime": 0(or a Unix timestamp)
- Besu: No extra Besu options; fork activation is driven by the genesis file.
- Deploy: Replace genesis on all nodes with the updated file and restart Besu (or roll out in a coordinated way if scheduling a future fork time/block).
For a new chain (genesis block 0), using 0 activates Shanghai and Cancun from the first block.
References
- Besu genesis reference: Genesis file items
- EIP-7702 script:
scripts/enable-eip-7702-besu.sh - Fork analysis:
smom-dbis-138/docs/operations/status-reports/FORK_ANALYSIS.md