mirror of
https://github.com/sigp/lighthouse.git
synced 2026-07-03 21:04:28 +00:00
Support Hoodi testnet (#7145)
Hardcode config for the upcoming `hoodi` testnet so we can run with `--network hoodi`.
This commit is contained in:
@@ -290,7 +290,7 @@ Options:
|
|||||||
monitoring-endpoint. Default: 60s
|
monitoring-endpoint. Default: 60s
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
--network-dir <DIR>
|
--network-dir <DIR>
|
||||||
Data directory for network keys. Defaults to network/ inside the
|
Data directory for network keys. Defaults to network/ inside the
|
||||||
beacon node dir.
|
beacon node dir.
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ Options:
|
|||||||
set to 0, background file logging is disabled. [default: 200]
|
set to 0, background file logging is disabled. [default: 200]
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
-t, --testnet-dir <DIR>
|
-t, --testnet-dir <DIR>
|
||||||
Path to directory containing eth2_testnet specs. Defaults to a
|
Path to directory containing eth2_testnet specs. Defaults to a
|
||||||
hard-coded Lighthouse testnet. Only effective if there is no existing
|
hard-coded Lighthouse testnet. Only effective if there is no existing
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ Options:
|
|||||||
monitoring-endpoint. [default: 60]
|
monitoring-endpoint. [default: 60]
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
--proposer-nodes <NETWORK_ADDRESSES>
|
--proposer-nodes <NETWORK_ADDRESSES>
|
||||||
Comma-separated addresses to one or more beacon node HTTP APIs. These
|
Comma-separated addresses to one or more beacon node HTTP APIs. These
|
||||||
specify nodes that are used to send beacon block proposals. A failure
|
specify nodes that are used to send beacon block proposals. A failure
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ Options:
|
|||||||
set to 0, background file logging is disabled. [default: 200]
|
set to 0, background file logging is disabled. [default: 200]
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
-t, --testnet-dir <DIR>
|
-t, --testnet-dir <DIR>
|
||||||
Path to directory containing eth2_testnet specs. Defaults to a
|
Path to directory containing eth2_testnet specs. Defaults to a
|
||||||
hard-coded Lighthouse testnet. Only effective if there is no existing
|
hard-coded Lighthouse testnet. Only effective if there is no existing
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ Options:
|
|||||||
If present, the mnemonic will be read in from this file.
|
If present, the mnemonic will be read in from this file.
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
--output-path <DIRECTORY>
|
--output-path <DIRECTORY>
|
||||||
The path to a directory where the validator and (optionally) deposits
|
The path to a directory where the validator and (optionally) deposits
|
||||||
files will be created. The directory will be created if it does not
|
files will be created. The directory will be created if it does not
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ Options:
|
|||||||
set to 0, background file logging is disabled. [default: 200]
|
set to 0, background file logging is disabled. [default: 200]
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
--password <STRING>
|
--password <STRING>
|
||||||
Password of the keystore file.
|
Password of the keystore file.
|
||||||
--prefer-builder-proposals <prefer-builder-proposals>
|
--prefer-builder-proposals <prefer-builder-proposals>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ Options:
|
|||||||
set to 0, background file logging is disabled. [default: 200]
|
set to 0, background file logging is disabled. [default: 200]
|
||||||
--network <network>
|
--network <network>
|
||||||
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
Name of the Eth2 chain Lighthouse will sync and follow. [possible
|
||||||
values: mainnet, gnosis, chiado, sepolia, holesky]
|
values: mainnet, gnosis, chiado, sepolia, holesky, hoodi]
|
||||||
--prefer-builder-proposals <prefer-builder-proposals>
|
--prefer-builder-proposals <prefer-builder-proposals>
|
||||||
If this flag is set, Lighthouse will always prefer blocks constructed
|
If this flag is set, Lighthouse will always prefer blocks constructed
|
||||||
by builders, regardless of payload value. [possible values: true,
|
by builders, regardless of payload value. [possible values: true,
|
||||||
|
|||||||
@@ -35,6 +35,17 @@ const HOLESKY_GENESIS_STATE_SOURCE: GenesisStateSource = GenesisStateSource::Url
|
|||||||
genesis_state_root: "0x0ea3f6f9515823b59c863454675fefcd1d8b4f2dbe454db166206a41fda060a0",
|
genesis_state_root: "0x0ea3f6f9515823b59c863454675fefcd1d8b4f2dbe454db166206a41fda060a0",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const HOODI_GENESIS_STATE_SOURCE: GenesisStateSource = GenesisStateSource::Url {
|
||||||
|
urls: &[
|
||||||
|
// This is an AWS S3 bucket hosted by Sigma Prime. See Paul Hauner for
|
||||||
|
// more details.
|
||||||
|
"https://sigp-public-genesis-states.s3.ap-southeast-2.amazonaws.com/hoodi/",
|
||||||
|
],
|
||||||
|
checksum: "0x7f42257ef69e055496c964a753bb07e54001ccd57ab467ef72d67af086bcfce7",
|
||||||
|
genesis_validators_root: "0x212f13fc4df078b6cb7db228f1c8307566dcecf900867401a92023d7ba99cb5f",
|
||||||
|
genesis_state_root: "0x2683ebc120f91f740c7bed4c866672d01e1ba51b4cc360297138465ee5df40f0",
|
||||||
|
};
|
||||||
|
|
||||||
const CHIADO_GENESIS_STATE_SOURCE: GenesisStateSource = GenesisStateSource::Url {
|
const CHIADO_GENESIS_STATE_SOURCE: GenesisStateSource = GenesisStateSource::Url {
|
||||||
// No default checkpoint sources are provided.
|
// No default checkpoint sources are provided.
|
||||||
urls: &[],
|
urls: &[],
|
||||||
@@ -328,5 +339,14 @@ define_hardcoded_nets!(
|
|||||||
"holesky",
|
"holesky",
|
||||||
// Describes how the genesis state can be obtained.
|
// Describes how the genesis state can be obtained.
|
||||||
HOLESKY_GENESIS_STATE_SOURCE
|
HOLESKY_GENESIS_STATE_SOURCE
|
||||||
|
),
|
||||||
|
(
|
||||||
|
// Network name (must be unique among all networks).
|
||||||
|
hoodi,
|
||||||
|
// The name of the directory in the `eth2_network_config/built_in_network_configs`
|
||||||
|
// directory where the configuration files are located for this network.
|
||||||
|
"hoodi",
|
||||||
|
// Describes how the genesis state can be obtained.
|
||||||
|
HOODI_GENESIS_STATE_SOURCE
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# hoodi consensus layer bootnodes
|
||||||
|
# ---------------------------------------
|
||||||
|
# 1. Tag nodes with maintainer
|
||||||
|
# 2. Keep nodes updated
|
||||||
|
# 3. Review PRs: check ENR duplicates, fork-digest, connection.
|
||||||
|
|
||||||
|
# EF
|
||||||
|
- enr:-Mq4QLkmuSwbGBUph1r7iHopzRpdqE-gcm5LNZfcE-6T37OCZbRHi22bXZkaqnZ6XdIyEDTelnkmMEQB8w6NbnJUt9GGAZWaowaYh2F0dG5ldHOIABgAAAAAAACEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhNEmfKCEcXVpY4IyyIlzZWNwMjU2azGhA0hGa4jZJZYQAS-z6ZFK-m4GCFnWS8wfjO0bpSQn6hyEiHN5bmNuZXRzAIN0Y3CCIyiDdWRwgiMo
|
||||||
|
- enr:-Ku4QLVumWTwyOUVS4ajqq8ZuZz2ik6t3Gtq0Ozxqecj0qNZWpMnudcvTs-4jrlwYRQMQwBS8Pvtmu4ZPP2Lx3i2t7YBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhNEmfKCJc2VjcDI1NmsxoQLdRlI8aCa_ELwTJhVN8k7km7IDc3pYu-FMYBs5_FiigIN1ZHCCIyk
|
||||||
|
- enr:-LK4QAYuLujoiaqCAs0-qNWj9oFws1B4iy-Hff1bRB7wpQCYSS-IIMxLWCn7sWloTJzC1SiH8Y7lMQ5I36ynGV1ASj4Eh2F0dG5ldHOIYAAAAAAAAACEZXRoMpDS8Zl_YAAJEAAIAAAAAAAAgmlkgnY0gmlwhIbRilSJc2VjcDI1NmsxoQOmI5MlAu3f5WEThAYOqoygpS2wYn0XS5NV2aYq7T0a04N0Y3CCIyiDdWRwgiMo
|
||||||
|
- enr:-Ku4QIC89sMC0o-irosD4_23lJJ4qCGOvdUz7SmoShWx0k6AaxCFTKviEHa-sa7-EzsiXpDp0qP0xzX6nKdXJX3X-IQBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhIbRilSJc2VjcDI1NmsxoQK_m0f1DzDc9Cjrspm36zuRa7072HSiMGYWLsKiVSbP34N1ZHCCIyk
|
||||||
|
- enr:-Ku4QNkWjw5tNzo8DtWqKm7CnDdIq_y7xppD6c1EZSwjB8rMOkSFA1wJPLoKrq5UvA7wcxIotH6Usx3PAugEN2JMncIBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpBd9cEGEAAJEP__________gmlkgnY0gmlwhIbHuBeJc2VjcDI1NmsxoQP3FwrhFYB60djwRjAoOjttq6du94DtkQuaN99wvgqaIYN1ZHCCIyk
|
||||||
|
- enr:-OS4QMJGE13xEROqvKN1xnnt7U-noc51VXyM6wFMuL9LMhQDfo1p1dF_zFdS4OsnXz_vIYk-nQWnqJMWRDKvkSK6_CwDh2F0dG5ldHOIAAAAADAAAACGY2xpZW502IpMaWdodGhvdXNljDcuMC4wLWJldGEuM4RldGgykNLxmX9gAAkQAAgAAAAAAACCaWSCdjSCaXCEhse4F4RxdWljgiMqiXNlY3AyNTZrMaECef77P8k5l3PC_raLw42OAzdXfxeQ-58BJriNaqiRGJSIc3luY25ldHMAg3RjcIIjKIN1ZHCCIyg
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
# Extends the mainnet preset
|
||||||
|
PRESET_BASE: mainnet
|
||||||
|
CONFIG_NAME: hoodi
|
||||||
|
|
||||||
|
# Genesis
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# `2**14` (= 16,384)
|
||||||
|
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 16384
|
||||||
|
# 2025-Mar-17 12:00:00 PM UTC
|
||||||
|
MIN_GENESIS_TIME: 1742212800
|
||||||
|
GENESIS_FORK_VERSION: 0x10000910
|
||||||
|
GENESIS_DELAY: 600
|
||||||
|
|
||||||
|
|
||||||
|
# Forking
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# Some forks are disabled for now:
|
||||||
|
# - These may be re-assigned to another fork-version later
|
||||||
|
# - Temporarily set to max uint64 value: 2**64 - 1
|
||||||
|
|
||||||
|
# Altair
|
||||||
|
ALTAIR_FORK_VERSION: 0x20000910
|
||||||
|
ALTAIR_FORK_EPOCH: 0
|
||||||
|
# Merge
|
||||||
|
BELLATRIX_FORK_VERSION: 0x30000910
|
||||||
|
BELLATRIX_FORK_EPOCH: 0
|
||||||
|
TERMINAL_TOTAL_DIFFICULTY: 0
|
||||||
|
TERMINAL_BLOCK_HASH: 0x0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: 18446744073709551615
|
||||||
|
|
||||||
|
# Capella
|
||||||
|
CAPELLA_FORK_VERSION: 0x40000910
|
||||||
|
CAPELLA_FORK_EPOCH: 0
|
||||||
|
|
||||||
|
# DENEB
|
||||||
|
DENEB_FORK_VERSION: 0x50000910
|
||||||
|
DENEB_FORK_EPOCH: 0
|
||||||
|
|
||||||
|
# Electra
|
||||||
|
ELECTRA_FORK_VERSION: 0x60000910
|
||||||
|
ELECTRA_FORK_EPOCH: 2048
|
||||||
|
|
||||||
|
# Fulu
|
||||||
|
FULU_FORK_VERSION: 0x70000910
|
||||||
|
FULU_FORK_EPOCH: 18446744073709551615
|
||||||
|
|
||||||
|
|
||||||
|
# Time parameters
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 12 seconds
|
||||||
|
SECONDS_PER_SLOT: 12
|
||||||
|
# 14 (estimate from Eth1 mainnet)
|
||||||
|
SECONDS_PER_ETH1_BLOCK: 12
|
||||||
|
# 2**8 (= 256) epochs ~27 hours
|
||||||
|
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
||||||
|
# 2**8 (= 256) epochs ~27 hours
|
||||||
|
SHARD_COMMITTEE_PERIOD: 256
|
||||||
|
# 2**11 (= 2,048) Eth1 blocks ~8 hours
|
||||||
|
ETH1_FOLLOW_DISTANCE: 2048
|
||||||
|
|
||||||
|
# Validator cycle
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 2**2 (= 4)
|
||||||
|
INACTIVITY_SCORE_BIAS: 4
|
||||||
|
# 2**4 (= 16)
|
||||||
|
INACTIVITY_SCORE_RECOVERY_RATE: 16
|
||||||
|
# 2**4 * 10**9 (= 16,000,000,000) Gwei
|
||||||
|
EJECTION_BALANCE: 16000000000
|
||||||
|
# 2**2 (= 4)
|
||||||
|
MIN_PER_EPOCH_CHURN_LIMIT: 4
|
||||||
|
# 2**16 (= 65,536)
|
||||||
|
CHURN_LIMIT_QUOTIENT: 65536
|
||||||
|
# [New in Deneb:EIP7514] 2**3 (= 8)
|
||||||
|
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 8
|
||||||
|
|
||||||
|
# Fork choice
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 40%
|
||||||
|
PROPOSER_SCORE_BOOST: 40
|
||||||
|
# 20%
|
||||||
|
REORG_HEAD_WEIGHT_THRESHOLD: 20
|
||||||
|
# 160%
|
||||||
|
REORG_PARENT_WEIGHT_THRESHOLD: 160
|
||||||
|
# `2` epochs
|
||||||
|
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2
|
||||||
|
|
||||||
|
# Deposit contract
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
DEPOSIT_CHAIN_ID: 560048
|
||||||
|
DEPOSIT_NETWORK_ID: 560048
|
||||||
|
DEPOSIT_CONTRACT_ADDRESS: 0x00000000219ab540356cBB839Cbe05303d7705Fa
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# `10 * 2**20` (= 10485760, 10 MiB)
|
||||||
|
GOSSIP_MAX_SIZE: 10485760
|
||||||
|
# `2**10` (= 1024)
|
||||||
|
MAX_REQUEST_BLOCKS: 1024
|
||||||
|
# `2**8` (= 256)
|
||||||
|
EPOCHS_PER_SUBNET_SUBSCRIPTION: 256
|
||||||
|
# `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 33024, ~5 months)
|
||||||
|
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024
|
||||||
|
# `10 * 2**20` (=10485760, 10 MiB)
|
||||||
|
MAX_CHUNK_SIZE: 10485760
|
||||||
|
# 5s
|
||||||
|
TTFB_TIMEOUT: 5
|
||||||
|
# 10s
|
||||||
|
RESP_TIMEOUT: 10
|
||||||
|
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)
|
||||||
|
ATTESTATION_SUBNET_COUNT: 64
|
||||||
|
ATTESTATION_SUBNET_EXTRA_BITS: 0
|
||||||
|
# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITS
|
||||||
|
ATTESTATION_SUBNET_PREFIX_BITS: 6
|
||||||
|
|
||||||
|
# Deneb
|
||||||
|
# `2**7` (=128)
|
||||||
|
MAX_REQUEST_BLOCKS_DENEB: 128
|
||||||
|
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
||||||
|
MAX_REQUEST_BLOB_SIDECARS: 768
|
||||||
|
# `2**12` (= 4096 epochs, ~18 days)
|
||||||
|
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
|
||||||
|
# `6`
|
||||||
|
BLOB_SIDECAR_SUBNET_COUNT: 6
|
||||||
|
## `uint64(6)`
|
||||||
|
MAX_BLOBS_PER_BLOCK: 6
|
||||||
|
|
||||||
|
# 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`
|
||||||
|
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9
|
||||||
|
# `uint64(6)`
|
||||||
|
TARGET_BLOBS_PER_BLOCK_ELECTRA: 6
|
||||||
|
# `uint64(9)`
|
||||||
|
MAX_BLOBS_PER_BLOCK_ELECTRA: 9
|
||||||
|
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
|
||||||
|
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152
|
||||||
|
|
||||||
|
# Whisk
|
||||||
|
# `Epoch(2**8)`
|
||||||
|
WHISK_EPOCHS_PER_SHUFFLING_PHASE: 256
|
||||||
|
# `Epoch(2)`
|
||||||
|
WHISK_PROPOSER_SELECTION_GAP: 2
|
||||||
|
|
||||||
|
# Fulu
|
||||||
|
NUMBER_OF_COLUMNS: 128
|
||||||
|
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||||
|
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||||
|
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
|
||||||
|
SAMPLES_PER_SLOT: 8
|
||||||
|
CUSTODY_REQUIREMENT: 4
|
||||||
|
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||||
|
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096
|
||||||
|
|
||||||
|
# EIP7732
|
||||||
|
MAX_REQUEST_PAYLOADS: 128
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
0
|
||||||
Reference in New Issue
Block a user