mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
fix default network handling (#2029)
## Issue Addressed #1992 and #1987, and also to be considered a continuation of #1751 ## Proposed Changes many changed files but most are renaming to align the code with the semantics of `--network` - remove the `--network` default value (in clap) and instead set it after checking the `network` and `testnet-dir` flags - move `eth2_testnet_config` crate to `eth2_network_config` - move `Eth2TestnetConfig` to `Eth2NetworkConfig` - move `DEFAULT_HARDCODED_TESTNET` to `DEFAULT_HARDCODED_NETWORK` - `beacon_node`s `get_eth2_testnet_config` loads the `DEFAULT_HARDCODED_NETWORK` if there is no network nor testnet provided - `boot_node`s config loads the config same as the `beacon_node`, it was using the configuration only for preconfigured networks (That code is ~1year old so I asume it was not intended) - removed a one year old comment stating we should try to emulate `https://github.com/eth2-clients/eth2-testnets/tree/master/nimbus/testnet1` it looks outdated (?) - remove `lighthouse`s `load_testnet_config` in favor of `get_eth2_network_config` to centralize that logic (It had differences) - some spelling ## Additional Info Both the command of #1992 and the scripts of #1987 seem to work fine, same as `bn` and `vc`
This commit is contained in:
@@ -23,7 +23,7 @@ regex = "1.3.9"
|
||||
futures = { version = "0.3.7", features = ["compat"] }
|
||||
environment = { path = "../lighthouse/environment" }
|
||||
web3 = "0.11.0"
|
||||
eth2_testnet_config = { path = "../common/eth2_testnet_config" }
|
||||
eth2_network_config = { path = "../common/eth2_network_config" }
|
||||
dirs = "3.0.1"
|
||||
genesis = { path = "../beacon_node/genesis" }
|
||||
deposit_contract = { path = "../common/deposit_contract" }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use clap::ArgMatches;
|
||||
use environment::Environment;
|
||||
use eth2_testnet_config::Eth2TestnetConfig;
|
||||
use eth2_network_config::Eth2NetworkConfig;
|
||||
use genesis::{Eth1Config, Eth1GenesisService};
|
||||
use ssz::Encode;
|
||||
use std::cmp::max;
|
||||
@@ -32,9 +32,9 @@ pub fn run<T: EthSpec>(mut env: Environment<T>, matches: &ArgMatches<'_>) -> Res
|
||||
.expect("should locate home directory")
|
||||
});
|
||||
|
||||
let mut eth2_testnet_config = Eth2TestnetConfig::load(testnet_dir.clone())?;
|
||||
let mut eth2_network_config = Eth2NetworkConfig::load(testnet_dir.clone())?;
|
||||
|
||||
let spec = eth2_testnet_config
|
||||
let spec = eth2_network_config
|
||||
.yaml_config
|
||||
.as_ref()
|
||||
.ok_or("The testnet directory must contain a spec config")?
|
||||
@@ -51,8 +51,8 @@ pub fn run<T: EthSpec>(mut env: Environment<T>, matches: &ArgMatches<'_>) -> Res
|
||||
config.endpoints = v;
|
||||
}
|
||||
config.deposit_contract_address = format!("{:?}", spec.deposit_contract_address);
|
||||
config.deposit_contract_deploy_block = eth2_testnet_config.deposit_contract_deploy_block;
|
||||
config.lowest_cached_block_number = eth2_testnet_config.deposit_contract_deploy_block;
|
||||
config.deposit_contract_deploy_block = eth2_network_config.deposit_contract_deploy_block;
|
||||
config.lowest_cached_block_number = eth2_network_config.deposit_contract_deploy_block;
|
||||
config.follow_distance = spec.eth1_follow_distance / 2;
|
||||
config.node_far_behind_seconds = max(5, config.follow_distance) * spec.seconds_per_eth1_block;
|
||||
|
||||
@@ -65,8 +65,8 @@ pub fn run<T: EthSpec>(mut env: Environment<T>, matches: &ArgMatches<'_>) -> Res
|
||||
.wait_for_genesis_state::<T>(ETH1_GENESIS_UPDATE_INTERVAL, spec)
|
||||
.await
|
||||
.map(move |genesis_state| {
|
||||
eth2_testnet_config.genesis_state_bytes = Some(genesis_state.as_ssz_bytes());
|
||||
eth2_testnet_config.force_write_to_file(testnet_dir)
|
||||
eth2_network_config.genesis_state_bytes = Some(genesis_state.as_ssz_bytes());
|
||||
eth2_network_config.force_write_to_file(testnet_dir)
|
||||
})
|
||||
.map_err(|e| format!("Failed to find genesis: {}", e))?;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use clap::ArgMatches;
|
||||
use clap_utils::parse_ssz_optional;
|
||||
use environment::Environment;
|
||||
use eth2_testnet_config::Eth2TestnetConfig;
|
||||
use eth2_network_config::Eth2NetworkConfig;
|
||||
use genesis::interop_genesis_state;
|
||||
use ssz::Encode;
|
||||
use std::path::PathBuf;
|
||||
@@ -36,9 +36,9 @@ pub fn run<T: EthSpec>(mut env: Environment<T>, matches: &ArgMatches) -> Result<
|
||||
.expect("should locate home directory")
|
||||
});
|
||||
|
||||
let mut eth2_testnet_config = Eth2TestnetConfig::load(testnet_dir.clone())?;
|
||||
let mut eth2_network_config = Eth2NetworkConfig::load(testnet_dir.clone())?;
|
||||
|
||||
let mut spec = eth2_testnet_config
|
||||
let mut spec = eth2_network_config
|
||||
.yaml_config
|
||||
.as_ref()
|
||||
.ok_or("The testnet directory must contain a spec config")?
|
||||
@@ -57,8 +57,8 @@ pub fn run<T: EthSpec>(mut env: Environment<T>, matches: &ArgMatches) -> Result<
|
||||
let keypairs = generate_deterministic_keypairs(validator_count);
|
||||
let genesis_state = interop_genesis_state::<T>(&keypairs, genesis_time, &spec)?;
|
||||
|
||||
eth2_testnet_config.genesis_state_bytes = Some(genesis_state.as_ssz_bytes());
|
||||
eth2_testnet_config.force_write_to_file(testnet_dir)?;
|
||||
eth2_network_config.genesis_state_bytes = Some(genesis_state.as_ssz_bytes());
|
||||
eth2_network_config.force_write_to_file(testnet_dir)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ use clap::ArgMatches;
|
||||
use clap_utils::{
|
||||
parse_optional, parse_path_with_default_in_home_dir, parse_required, parse_ssz_optional,
|
||||
};
|
||||
use eth2_testnet_config::Eth2TestnetConfig;
|
||||
use eth2_network_config::Eth2NetworkConfig;
|
||||
use std::path::PathBuf;
|
||||
use types::{Address, EthSpec, YamlConfig};
|
||||
|
||||
@@ -53,7 +53,7 @@ pub fn run<T: EthSpec>(matches: &ArgMatches) -> Result<(), String> {
|
||||
spec.genesis_fork_version = v;
|
||||
}
|
||||
|
||||
let testnet = Eth2TestnetConfig {
|
||||
let testnet = Eth2NetworkConfig {
|
||||
deposit_contract_deploy_block,
|
||||
boot_enr: Some(vec![]),
|
||||
genesis_state_bytes: None,
|
||||
|
||||
Reference in New Issue
Block a user