feat: add chiado (#4530)
## Issue Addressed N/A ## Proposed Changes Adds the Chiado (Gnosis testnet) network to the builtin one. ## Additional Info It's a fairly trivial change all things considered as the preset already exists, so shouldn't be hard to maintain. It compiles and seems to work, but I'm sure I missed something? Co-authored-by: Paul Hauner <paul@paulhauner.com>
This commit is contained in:
parent
f284e0e264
commit
0c23c86849
@ -21,7 +21,7 @@ engine to a merge-ready version.
|
|||||||
|
|
||||||
## When?
|
## When?
|
||||||
|
|
||||||
All networks (**Mainnet**, **Goerli (Prater)**, **Ropsten**, **Sepolia**, **Kiln**, **Gnosis**) have successfully undergone the Bellatrix fork and transitioned to a post-merge Network. Your node must have a merge-ready configuration to continue operating. Table below lists the date at which Bellatrix and The Merge occurred:
|
All networks (**Mainnet**, **Goerli (Prater)**, **Ropsten**, **Sepolia**, **Kiln**, **Chiado**, **Gnosis**) have successfully undergone the Bellatrix fork and transitioned to a post-merge Network. Your node must have a merge-ready configuration to continue operating. Table below lists the date at which Bellatrix and The Merge occurred:
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
@ -31,6 +31,7 @@ All networks (**Mainnet**, **Goerli (Prater)**, **Ropsten**, **Sepolia**, **Kiln
|
|||||||
| Sepolia | 20<sup>th</sup> June 2022 | 6<sup>th</sup> July 2022 | |
|
| Sepolia | 20<sup>th</sup> June 2022 | 6<sup>th</sup> July 2022 | |
|
||||||
| Goerli | 4<sup>th</sup> August 2022 | 10<sup>th</sup> August 2022 | Previously named `Prater`|
|
| Goerli | 4<sup>th</sup> August 2022 | 10<sup>th</sup> August 2022 | Previously named `Prater`|
|
||||||
| Mainnet | 6<sup>th</sup> September 2022 | 15<sup>th</sup> September 2022 |
|
| Mainnet | 6<sup>th</sup> September 2022 | 15<sup>th</sup> September 2022 |
|
||||||
|
| Chiado | 10<sup>th</sup> October 2022 | 4<sup>th</sup> November 2022 |
|
||||||
| Gnosis| 30<sup>th</sup> November 2022 | 8<sup>th</sup> December 2022
|
| Gnosis| 30<sup>th</sup> November 2022 | 8<sup>th</sup> December 2022
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -58,7 +58,8 @@ Notable flags:
|
|||||||
- `lighthouse --network mainnet`: Mainnet.
|
- `lighthouse --network mainnet`: Mainnet.
|
||||||
- `lighthouse --network goerli`: Goerli (testnet).
|
- `lighthouse --network goerli`: Goerli (testnet).
|
||||||
- `lighthouse --network sepolia`: Sepolia (testnet).
|
- `lighthouse --network sepolia`: Sepolia (testnet).
|
||||||
- `lighthouse --network gnosis`: Gnosis chain
|
- `lighthouse --network chiado`: Chiado (testnet).
|
||||||
|
- `lighthouse --network gnosis`: Gnosis chain.
|
||||||
|
|
||||||
> Note: Using the correct `--network` flag is very important; using the wrong flag can
|
> Note: Using the correct `--network` flag is very important; using the wrong flag can
|
||||||
result in penalties, slashings or lost deposits. As a rule of thumb, *always*
|
result in penalties, slashings or lost deposits. As a rule of thumb, *always*
|
||||||
|
@ -33,6 +33,13 @@ const HOLESKY_GENESIS_STATE_SOURCE: GenesisStateSource = GenesisStateSource::Url
|
|||||||
genesis_validators_root: "0x9143aa7c615a7f7115e2b6aac319c03529df8242ae705fba9df39b79c59fa8b1",
|
genesis_validators_root: "0x9143aa7c615a7f7115e2b6aac319c03529df8242ae705fba9df39b79c59fa8b1",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const CHIADO_GENESIS_STATE_SOURCE: GenesisStateSource = GenesisStateSource::Url {
|
||||||
|
// No default checkpoint sources are provided.
|
||||||
|
urls: &[],
|
||||||
|
checksum: "0xd4a039454c7429f1dfaa7e11e397ef3d0f50d2d5e4c0e4dc04919d153aa13af1",
|
||||||
|
genesis_validators_root: "0x9d642dac73058fbf39c0ae41ab1e34e4d889043cb199851ded7095bc99eb4c1e",
|
||||||
|
};
|
||||||
|
|
||||||
/// The core configuration of a Lighthouse beacon node.
|
/// The core configuration of a Lighthouse beacon node.
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct Eth2Config {
|
pub struct Eth2Config {
|
||||||
@ -306,6 +313,16 @@ define_hardcoded_nets!(
|
|||||||
// Describes how the genesis state can be obtained.
|
// Describes how the genesis state can be obtained.
|
||||||
GenesisStateSource::IncludedBytes
|
GenesisStateSource::IncludedBytes
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
// Network name (must be unique among all networks).
|
||||||
|
chiado,
|
||||||
|
// The name of the directory in the `eth2_network_config/built_in_network_configs`
|
||||||
|
// directory where the configuration files are located for this network.
|
||||||
|
"chiado",
|
||||||
|
// Set to `true` if the genesis state can be found in the `built_in_network_configs`
|
||||||
|
// directory.
|
||||||
|
CHIADO_GENESIS_STATE_SOURCE
|
||||||
|
),
|
||||||
(
|
(
|
||||||
// Network name (must be unique among all networks).
|
// Network name (must be unique among all networks).
|
||||||
sepolia,
|
sepolia,
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
# chiado-teku-0
|
||||||
|
- "enr:-Ly4QLYLNqrjvSxD3lpAPBUNlxa6cIbe79JqLZLFcZZjWoCjZcw-85agLUErHiygG2weRSCLnd5V460qTbLbwJQsfZkoh2F0dG5ldHOI__________-EZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhKq7mu-Jc2VjcDI1NmsxoQP900YAYa9kdvzlSKGjVo-F3XVzATjOYp3BsjLjSophO4hzeW5jbmV0cw-DdGNwgiMog3VkcIIjKA"
|
||||||
|
# chiado-teku-1
|
||||||
|
- "enr:-Ly4QCGeYvTCNOGKi0mKRUd45rLj96b4pH98qG7B9TCUGXGpHZALtaL2-XfjASQyhbCqENccI4PGXVqYTIehNT9KJMQgh2F0dG5ldHOI__________-EZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhIuQrVSJc2VjcDI1NmsxoQP9iDchx2PGl3JyJ29B9fhLCvVMN6n23pPAIIeFV-sHOIhzeW5jbmV0cw-DdGNwgiMog3VkcIIjKA"
|
||||||
|
#GnosisDAO Bootnode: 3.71.132.231
|
||||||
|
- "enr:-Ly4QAtr21x5Ps7HYhdZkIBRBgcBkvlIfEel1YNjtFWf4cV3au2LgBGICz9PtEs9-p2HUl_eME8m1WImxTxSB3AkCMwBh2F0dG5ldHOIAAAAAAAAAACEZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhANHhOeJc2VjcDI1NmsxoQNLp1QPV8-pyMCohOtj6xGtSBM_GtVTqzlbvNsCF4ezkYhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA"
|
||||||
|
#GnosisDAO Bootnode: 3.69.35.13
|
||||||
|
- "enr:-Ly4QLgn8Bx6faigkKUGZQvd1HDToV2FAxZIiENK-lczruzQb90qJK-4E65ADly0s4__dQOW7IkLMW7ZAyJy2vtiLy8Bh2F0dG5ldHOIAAAAAAAAAACEZXRoMpAxNnBDAgAAb___________gmlkgnY0gmlwhANFIw2Jc2VjcDI1NmsxoQMa-fWEy9UJHfOl_lix3wdY5qust78sHAqZnWwEiyqKgYhzeW5jbmV0cwCDdGNwgiMog3VkcIIjKA"
|
@ -0,0 +1,154 @@
|
|||||||
|
# Extends the mainnet preset
|
||||||
|
PRESET_BASE: gnosis
|
||||||
|
# needs to exist because of Prysm. Otherwise it conflicts with mainnet genesis
|
||||||
|
CONFIG_NAME: chiado
|
||||||
|
|
||||||
|
# Genesis
|
||||||
|
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 6000
|
||||||
|
# 10 October 2022 10:00:00 GMT+0000
|
||||||
|
MIN_GENESIS_TIME: 1665396000
|
||||||
|
GENESIS_DELAY: 300
|
||||||
|
|
||||||
|
# Projected time: 2022-11-04T15:00:00.000Z, block: 680928
|
||||||
|
TERMINAL_TOTAL_DIFFICULTY: 231707791542740786049188744689299064356246512
|
||||||
|
|
||||||
|
# Deposit contract
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# NOTE: Don't use a value too high, or Teku rejects it (4294906129 NOK)
|
||||||
|
DEPOSIT_CHAIN_ID: 10200
|
||||||
|
DEPOSIT_NETWORK_ID: 10200
|
||||||
|
DEPOSIT_CONTRACT_ADDRESS: 0xb97036A26259B7147018913bD58a774cf91acf25
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 2**6 (= 64)
|
||||||
|
MAX_COMMITTEES_PER_SLOT: 64
|
||||||
|
# 2**7 (= 128)
|
||||||
|
TARGET_COMMITTEE_SIZE: 128
|
||||||
|
# 2**11 (= 2,048)
|
||||||
|
MAX_VALIDATORS_PER_COMMITTEE: 2048
|
||||||
|
# 2**2 (= 4)
|
||||||
|
MIN_PER_EPOCH_CHURN_LIMIT: 4
|
||||||
|
# 2**12 (= 4096)
|
||||||
|
CHURN_LIMIT_QUOTIENT: 4096
|
||||||
|
# See issue 563
|
||||||
|
SHUFFLE_ROUND_COUNT: 90
|
||||||
|
# 4
|
||||||
|
HYSTERESIS_QUOTIENT: 4
|
||||||
|
# 1 (minus 0.25)
|
||||||
|
HYSTERESIS_DOWNWARD_MULTIPLIER: 1
|
||||||
|
# 5 (plus 1.25)
|
||||||
|
HYSTERESIS_UPWARD_MULTIPLIER: 5
|
||||||
|
# Validator
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 2**10 (= 1024) ~1.4 hour
|
||||||
|
ETH1_FOLLOW_DISTANCE: 1024
|
||||||
|
# 2**4 (= 16)
|
||||||
|
TARGET_AGGREGATORS_PER_COMMITTEE: 16
|
||||||
|
# 2**0 (= 1)
|
||||||
|
RANDOM_SUBNETS_PER_VALIDATOR: 1
|
||||||
|
# 2**8 (= 256)
|
||||||
|
EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256
|
||||||
|
# 6 (estimate from xDai mainnet)
|
||||||
|
SECONDS_PER_ETH1_BLOCK: 6
|
||||||
|
|
||||||
|
# Gwei values
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 2**0 * 10**9 (= 1,000,000,000) Gwei
|
||||||
|
MIN_DEPOSIT_AMOUNT: 1000000000
|
||||||
|
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
||||||
|
MAX_EFFECTIVE_BALANCE: 32000000000
|
||||||
|
# 2**4 * 10**9 (= 16,000,000,000) Gwei
|
||||||
|
EJECTION_BALANCE: 16000000000
|
||||||
|
# 2**0 * 10**9 (= 1,000,000,000) Gwei
|
||||||
|
EFFECTIVE_BALANCE_INCREMENT: 1000000000
|
||||||
|
# Initial values
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# GBC area code
|
||||||
|
GENESIS_FORK_VERSION: 0x0000006f
|
||||||
|
BLS_WITHDRAWAL_PREFIX: 0x00
|
||||||
|
# Time parameters
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 5 seconds
|
||||||
|
SECONDS_PER_SLOT: 5
|
||||||
|
# 2**0 (= 1) slots 12 seconds
|
||||||
|
MIN_ATTESTATION_INCLUSION_DELAY: 1
|
||||||
|
# 2**4 (= 16) slots 1.87 minutes
|
||||||
|
SLOTS_PER_EPOCH: 16
|
||||||
|
# 2**0 (= 1) epochs 1.87 minutes
|
||||||
|
MIN_SEED_LOOKAHEAD: 1
|
||||||
|
# 2**2 (= 4) epochs 7.47 minutes
|
||||||
|
MAX_SEED_LOOKAHEAD: 4
|
||||||
|
# 2**6 (= 64) epochs ~2 hours
|
||||||
|
EPOCHS_PER_ETH1_VOTING_PERIOD: 64
|
||||||
|
# 2**13 (= 8,192) slots ~15.9 hours
|
||||||
|
SLOTS_PER_HISTORICAL_ROOT: 8192
|
||||||
|
# 2**8 (= 256) epochs ~8 hours
|
||||||
|
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
||||||
|
# 2**8 (= 256) epochs ~8 hours
|
||||||
|
SHARD_COMMITTEE_PERIOD: 256
|
||||||
|
# 2**2 (= 4) epochs 7.47 minutes
|
||||||
|
MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4
|
||||||
|
|
||||||
|
# State vector lengths
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 2**16 (= 65,536) epochs ~85 days
|
||||||
|
EPOCHS_PER_HISTORICAL_VECTOR: 65536
|
||||||
|
# 2**13 (= 8,192) epochs ~10.6 days
|
||||||
|
EPOCHS_PER_SLASHINGS_VECTOR: 8192
|
||||||
|
# 2**24 (= 16,777,216) historical roots, ~15,243 years
|
||||||
|
HISTORICAL_ROOTS_LIMIT: 16777216
|
||||||
|
# 2**40 (= 1,099,511,627,776) validator spots
|
||||||
|
VALIDATOR_REGISTRY_LIMIT: 1099511627776
|
||||||
|
# Reward and penalty quotients
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 25
|
||||||
|
BASE_REWARD_FACTOR: 25
|
||||||
|
# 2**9 (= 512)
|
||||||
|
WHISTLEBLOWER_REWARD_QUOTIENT: 512
|
||||||
|
# 2**3 (= 8)
|
||||||
|
PROPOSER_REWARD_QUOTIENT: 8
|
||||||
|
# 2**26 (= 67,108,864)
|
||||||
|
INACTIVITY_PENALTY_QUOTIENT: 67108864
|
||||||
|
# 2**7 (= 128) (lower safety margin at Phase 0 genesis)
|
||||||
|
MIN_SLASHING_PENALTY_QUOTIENT: 128
|
||||||
|
# 1 (lower safety margin at Phase 0 genesis)
|
||||||
|
PROPORTIONAL_SLASHING_MULTIPLIER: 1
|
||||||
|
# Max operations per block
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
# 2**4 (= 16)
|
||||||
|
MAX_PROPOSER_SLASHINGS: 16
|
||||||
|
# 2**1 (= 2)
|
||||||
|
MAX_ATTESTER_SLASHINGS: 2
|
||||||
|
# 2**7 (= 128)
|
||||||
|
MAX_ATTESTATIONS: 128
|
||||||
|
# 2**4 (= 16)
|
||||||
|
MAX_DEPOSITS: 16
|
||||||
|
# 2**4 (= 16)
|
||||||
|
MAX_VOLUNTARY_EXITS: 16
|
||||||
|
# Signature domains
|
||||||
|
# ---------------------------------------------------------------
|
||||||
|
DOMAIN_BEACON_PROPOSER: 0x00000000
|
||||||
|
DOMAIN_BEACON_ATTESTER: 0x01000000
|
||||||
|
DOMAIN_RANDAO: 0x02000000
|
||||||
|
DOMAIN_DEPOSIT: 0x03000000
|
||||||
|
DOMAIN_VOLUNTARY_EXIT: 0x04000000
|
||||||
|
DOMAIN_SELECTION_PROOF: 0x05000000
|
||||||
|
DOMAIN_AGGREGATE_AND_PROOF: 0x06000000
|
||||||
|
DOMAIN_SYNC_COMMITTEE: 0x07000000
|
||||||
|
DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF: 0x08000000
|
||||||
|
DOMAIN_CONTRIBUTION_AND_PROOF: 0x09000000
|
||||||
|
|
||||||
|
# Altair
|
||||||
|
ALTAIR_FORK_VERSION: 0x0100006f
|
||||||
|
ALTAIR_FORK_EPOCH: 90 # Mon Oct 10 2022 12:00:00 GMT+0000
|
||||||
|
# Bellatrix
|
||||||
|
BELLATRIX_FORK_VERSION: 0x0200006f
|
||||||
|
BELLATRIX_FORK_EPOCH: 180 # Mon Oct 10 2022 14:00:00 GMT+0000
|
||||||
|
# Capella
|
||||||
|
CAPELLA_FORK_VERSION: 0x0300006f
|
||||||
|
CAPELLA_FORK_EPOCH: 244224 # Wed May 24 2023 13:12:00 GMT+0000
|
||||||
|
|
||||||
|
INACTIVITY_SCORE_BIAS: 4
|
||||||
|
# 2**4 (= 16)
|
||||||
|
INACTIVITY_SCORE_RECOVERY_RATE: 16
|
@ -0,0 +1 @@
|
|||||||
|
0
|
@ -482,10 +482,10 @@ mod tests {
|
|||||||
fn hard_coded_nets_work() {
|
fn hard_coded_nets_work() {
|
||||||
for net in HARDCODED_NETS {
|
for net in HARDCODED_NETS {
|
||||||
let config = Eth2NetworkConfig::from_hardcoded_net(net)
|
let config = Eth2NetworkConfig::from_hardcoded_net(net)
|
||||||
.unwrap_or_else(|_| panic!("{:?}", net.name));
|
.unwrap_or_else(|e| panic!("{:?}: {:?}", net.name, e));
|
||||||
|
|
||||||
// Ensure we can parse the YAML config to a chain spec.
|
// Ensure we can parse the YAML config to a chain spec.
|
||||||
if net.name == types::GNOSIS {
|
if config.config.preset_base == types::GNOSIS {
|
||||||
config.chain_spec::<GnosisEthSpec>().unwrap();
|
config.chain_spec::<GnosisEthSpec>().unwrap();
|
||||||
} else {
|
} else {
|
||||||
config.chain_spec::<MainnetEthSpec>().unwrap();
|
config.chain_spec::<MainnetEthSpec>().unwrap();
|
||||||
|
Loading…
Reference in New Issue
Block a user