Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,12 @@ The `--sepolia` cross-client proof-of-authority testnet configuration. Sepolia r
- Berlin: `0` (block number)
- MuirGlacier: `0` (block number)
- London: `0` (block number)
- Shanghai: `1677557088` (unix time)
- Cancun: `1706655072` (unix time)
- Shanghai: `1677557088` (unix time) - Tuesday, 28 February 2023 04:04:48
- Cancun: `1706655072` (unix time) - Tuesday, 30 January 2024 22:51:12
- Prague: `1741159776` (unix time) - Wednesday, 5 March 2025 07:29:36
- Osaka: `1760427360` (unix time) - Tuesday, 14 October 2025 07:36:00
- BPO 1: `1761017184` (unix time) - Tuesday, 21 October 2025 03:26:24
- BPO 2: `1761607008` (unix time) - Monday, 27 October 2025 23:16:48
- Bootnodes:
- `enode://9246d00bc8fd1742e5ad2428b80fc4dc45d786283e05ef6edbd9002cbc335d40998444732fbe921cb88e1d2c73d1b1de53bae6a2237996e9bfe14f871baf7066@18.168.182.86:30303`
- `enode://ec66ddcf1a974950bd4c782789a7e04f8aa7110a72569b6e65fcd51e937e74eed303b1ea734e4d19cfaec9fbff9b6ee65bf31dcb50ba79acce9dd63a6aca61c7@52.14.151.177:30303`
Expand Down Expand Up @@ -69,6 +73,9 @@ Bepolia Testnet is the beacon-chain to be merged with the Sepolia testnet.
- Altair fork epoch: `50`
- Bellatrix fork epoch: `100`
- Capella fork epoch: `56832`
- Deneb fork epoch: `132608`
- Electra fork epoch: `222464`
- Fulu fork epoch: `272640`
- Fork Digest: `0xa8fee8ee` (`0xd3010778` pre-genesis fork digest)
- Initial State Root: `0xfb9afe32150fa39f4b346be2519a67e2a4f5efcd50a1dc192c3f6b3d013d2798`
- Genesis Block Root:
Expand Down
18 changes: 18 additions & 0 deletions metadata/besu.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
"shanghaiTime": 1677557088,
"cancunTime": 1706655072,
"pragueTime": 1741159776,
"osakaTime": 1760427360,
"bpo1Time": 1761017184,
"bpo2Time": 1761607008,
"blobSchedule": {
"cancun": {
"target": 3,
Expand All @@ -26,6 +29,21 @@
"target": 6,
"max": 9,
"baseFeeUpdateFraction": 5007716
},
"osaka": {
"target": 6,
"max": 9,
"baseFeeUpdateFraction": 5007716
},
"bpo1": {
"target": 10,
"max": 15,
"baseFeeUpdateFraction": 8346193
},
"bpo2": {
"target": 14,
"max": 21,
"baseFeeUpdateFraction": 11684671
}
},
"ethash":{},
Expand Down
22 changes: 21 additions & 1 deletion metadata/chainspec.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,18 @@
"target": 6,
"max": 9,
"baseFeeUpdateFraction": "0x4c6964"
},
{
"timestamp": "0x68f6fd60",
"target": 10,
"max": 15,
"baseFeeUpdateFraction": "0x7f5a51"
},
{
"timestamp": "0x68fffd60",
"target": 14,
"max": 21,
"baseFeeUpdateFraction": "0xb24b3f"
}
],
"depositContractAddress": "0x7f02C3E3c98b133055B8B348B2Ac625669Ed295D",
Expand All @@ -87,7 +99,15 @@
"eip7002TransitionTimestamp": "0x67c7fd60",
"eip7251TransitionTimestamp": "0x67c7fd60",
"eip7623TransitionTimestamp": "0x67c7fd60",
"eip7702TransitionTimestamp": "0x67c7fd60"
"eip7702TransitionTimestamp": "0x67c7fd60",
"eip7594TransitionTimestamp": "0x68edfd60",
"eip7823TransitionTimestamp": "0x68edfd60",
"eip7825TransitionTimestamp": "0x68edfd60",
"eip7883TransitionTimestamp": "0x68edfd60",
"eip7918TransitionTimestamp": "0x68edfd60",
"eip7934TransitionTimestamp": "0x68edfd60",
"eip7939TransitionTimestamp": "0x68edfd60",
"eip7951TransitionTimestamp": "0x68edfd60"
},
"genesis": {
"seal": {
Expand Down
108 changes: 78 additions & 30 deletions metadata/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,36 @@ DENEB_FORK_EPOCH: 132608
ELECTRA_FORK_VERSION: 0x90000074
ELECTRA_FORK_EPOCH: 222464

# Fulu
FULU_FORK_VERSION: 0x90000075
FULU_FORK_EPOCH: 272640

# Time parameters
# ---------------------------------------------------------------
# 12 seconds
# 12 seconds (*deprecated*)
SECONDS_PER_SLOT: 12
# 12000 milliseconds
SLOT_DURATION_MS: 12000
# 14 (estimate from Eth1 mainnet)
SECONDS_PER_ETH1_BLOCK: 14
# 2**8 (= 256) epochs ~27 hours
# 2**8 (= 256) epochs
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
# 2**8 (= 256) epochs ~27 hours
# 2**8 (= 256) epochs
SHARD_COMMITTEE_PERIOD: 256
# 2**11 (= 2,048) Eth1 blocks ~8 hours
# 2**11 (= 2,048) Eth1 blocks
ETH1_FOLLOW_DISTANCE: 2048
# 1667 basis points, ~17% of SLOT_DURATION_MS
PROPOSER_REORG_CUTOFF_BPS: 1667
# 3333 basis points, ~33% of SLOT_DURATION_MS
ATTESTATION_DUE_BPS: 3333
# 6667 basis points, ~67% of SLOT_DURATION_MS
AGGREGATE_DUE_BPS: 6667

# Altair
# 3333 basis points, ~33% of SLOT_DURATION_MS
SYNC_MESSAGE_DUE_BPS: 3333
# 6667 basis points, ~67% of SLOT_DURATION_MS
CONTRIBUTION_DUE_BPS: 6667


# Validator cycle
Expand All @@ -62,13 +80,21 @@ INACTIVITY_SCORE_BIAS: 4
INACTIVITY_SCORE_RECOVERY_RATE: 16
# 2**4 * 10**9 (= 16,000,000,000) Gwei
EJECTION_BALANCE: 16000000000
# 2**2 (= 4)
# 2**2 (= 4) validators
MIN_PER_EPOCH_CHURN_LIMIT: 4
# 2**16 (= 65,536)
CHURN_LIMIT_QUOTIENT: 65536
# [New in Deneb:EIP7514] 2**3 (= 8)

# Deneb
# 2**3 (= 8) (*deprecated*)
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 8

# Electra
# 2**7 * 10**9 (= 128,000,000,000) Gwei
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000
# 2**8 * 10**9 (= 256,000,000,000) Gwei
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000

# Fork choice
# ---------------------------------------------------------------
# 40%
Expand All @@ -77,7 +103,7 @@ PROPOSER_SCORE_BOOST: 40
REORG_HEAD_WEIGHT_THRESHOLD: 20
# 160%
REORG_PARENT_WEIGHT_THRESHOLD: 160
# `2` epochs
# 2 epochs
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2

# Deposit contract
Expand All @@ -88,51 +114,73 @@ DEPOSIT_CONTRACT_ADDRESS: 0x7f02C3E3c98b133055B8B348B2Ac625669Ed295D

# Networking
# ---------------------------------------------------------------
# `10 * 2**20` (= 10485760, 10 MiB)
# 10 * 2**20 (= 10,485,760) bytes, 10 MiB
MAX_PAYLOAD_SIZE: 10485760
# `2**10` (= 1024)
# 2**10 (= 1,024) blocks
MAX_REQUEST_BLOCKS: 1024
# `2**8` (= 256)
# 2**8 (= 256) epochs
EPOCHS_PER_SUBNET_SUBSCRIPTION: 256
# `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 33024, ~5 months)
# MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2 (= 33,024) epochs
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024
# 5s
TTFB_TIMEOUT: 5
# 10s
RESP_TIMEOUT: 10
Comment on lines -99 to -102

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like these are defaults from the extended mainnet config. I'd recommend only making changes in this PR to support fusaka. In any case, I confirmed this is the same as mainnet so removing these fields has no effect.

# 2**5 (= 32) slots
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# 2 subnets per node
SUBNETS_PER_NODE: 2
# 2**8 (= 64)
# 2**6 (= 64) subnets
ATTESTATION_SUBNET_COUNT: 64
# 0 bits
ATTESTATION_SUBNET_EXTRA_BITS: 0
# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITS
# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITS (= 6 + 0) bits
ATTESTATION_SUBNET_PREFIX_BITS: 6

# Deneb
# `2**7` (=128)
# 2**7 (= 128) blocks
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
# `2**12` (= 4096 epochs, ~18 days)
# 2**12 (= 4,096) epochs
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
# `6`
# 6 subnets
BLOB_SIDECAR_SUBNET_COUNT: 6
# `uint64(6)`
# 6 blobs
MAX_BLOBS_PER_BLOCK: 6
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK (= 128 * 6) sidecars
MAX_REQUEST_BLOB_SIDECARS: 768

# Electra
# 2**7 * 10**9 (= 128,000,000,000)
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000
# 2**8 * 10**9 (= 256,000,000,000)
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000
# `9`
# 9 subnets
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9
# `uint64(9)`
# 9 blobs
MAX_BLOBS_PER_BLOCK_ELECTRA: 9
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA (= 128 * 9) sidecars
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152

# Fulu
# 2**7 (= 128) groups
NUMBER_OF_CUSTODY_GROUPS: 128
# 2**7 (= 128) subnets
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
# MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS (= 128 * 128) sidecars
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
# 2**3 (= 8) samples
SAMPLES_PER_SLOT: 8
# 2**2 (= 4) sidecars
CUSTODY_REQUIREMENT: 4
# 2**3 (= 8) sidecars
VALIDATOR_CUSTODY_REQUIREMENT: 8
# 2**5 * 10**9 (= 32,000,000,000) Gwei
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000
# 2**12 (= 4,096) epochs
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096


# Blob Scheduling
# ---------------------------------------------------------------

BLOB_SCHEDULE:
- EPOCH: 274176
MAX_BLOBS_PER_BLOCK: 15
- EPOCH: 275712
MAX_BLOBS_PER_BLOCK: 21
18 changes: 18 additions & 0 deletions metadata/genesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
"shanghaiTime": 1677557088,
"cancunTime": 1706655072,
"pragueTime": 1741159776,
"osakaTime": 1760427360,
"bpo1Time": 1761017184,
"bpo2Time": 1761607008,
"blobSchedule": {
"cancun": {
"target": 3,
Expand All @@ -27,6 +30,21 @@
"target": 6,
"max": 9,
"baseFeeUpdateFraction": 5007716
},
"osaka": {
"target": 6,
"max": 9,
"baseFeeUpdateFraction": 5007716
},
"bpo1": {
"target": 10,
"max": 15,
"baseFeeUpdateFraction": 8346193
},
"bpo2": {
"target": 14,
"max": 21,
"baseFeeUpdateFraction": 11684671
}
},
"depositContractAddress": "0x7f02C3E3c98b133055B8B348B2Ac625669Ed295D"
Expand Down