mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-14 18:32:42 +00:00
Merge remote-tracking branch 'origin/unstable' into tree-states
This commit is contained in:
@@ -93,7 +93,7 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||
Arg::with_name("target-peers")
|
||||
.long("target-peers")
|
||||
.help("The target number of peers.")
|
||||
.default_value("50")
|
||||
.default_value("80")
|
||||
.takes_value(true),
|
||||
)
|
||||
.arg(
|
||||
@@ -187,6 +187,12 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||
.help("One or more comma-delimited trusted peer ids which always have the highest score according to the peer scoring system.")
|
||||
.takes_value(true),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("enable-private-discovery")
|
||||
.long("enable-private-discovery")
|
||||
.help("Lighthouse by default does not discover private IP addresses. Set this flag to enable connection attempts to local addresses.")
|
||||
.takes_value(false),
|
||||
)
|
||||
/* REST API related arguments */
|
||||
.arg(
|
||||
Arg::with_name("http")
|
||||
@@ -392,6 +398,35 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||
will be used. Defaults to http://127.0.0.1:8545.")
|
||||
.takes_value(true)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("jwt-secrets")
|
||||
.long("jwt-secrets")
|
||||
.value_name("JWT-SECRETS")
|
||||
.help("One or more comma-delimited file paths which contain the corresponding hex-encoded \
|
||||
JWT secrets for each execution endpoint provided in the --execution-endpoints flag. \
|
||||
The number of paths should be in the same order and strictly equal to the number \
|
||||
of execution endpoints provided.")
|
||||
.takes_value(true)
|
||||
.requires("execution-endpoints")
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("jwt-id")
|
||||
.long("jwt-id")
|
||||
.value_name("JWT-ID")
|
||||
.help("Used by the beacon node to communicate a unique identifier to execution nodes \
|
||||
during JWT authentication. It corresponds to the 'id' field in the JWT claims object.\
|
||||
Set to empty by deafult")
|
||||
.takes_value(true)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("jwt-version")
|
||||
.long("jwt-version")
|
||||
.value_name("JWT-VERSION")
|
||||
.help("Used by the beacon node to communicate a client version to execution nodes \
|
||||
during JWT authentication. It corresponds to the 'clv' field in the JWT claims object.\
|
||||
Set to empty by deafult")
|
||||
.takes_value(true)
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("suggested-fee-recipient")
|
||||
.long("suggested-fee-recipient")
|
||||
|
||||
@@ -93,8 +93,8 @@ pub fn get_config<E: EthSpec>(
|
||||
|
||||
if let Some(address) = cli_args.value_of("http-address") {
|
||||
client_config.http_api.listen_addr = address
|
||||
.parse::<Ipv4Addr>()
|
||||
.map_err(|_| "http-address is not a valid IPv4 address.")?;
|
||||
.parse::<IpAddr>()
|
||||
.map_err(|_| "http-address is not a valid IP address.")?;
|
||||
}
|
||||
|
||||
if let Some(port) = cli_args.value_of("http-port") {
|
||||
@@ -145,8 +145,8 @@ pub fn get_config<E: EthSpec>(
|
||||
|
||||
if let Some(address) = cli_args.value_of("metrics-address") {
|
||||
client_config.http_metrics.listen_addr = address
|
||||
.parse::<Ipv4Addr>()
|
||||
.map_err(|_| "metrics-address is not a valid IPv4 address.")?;
|
||||
.parse::<IpAddr>()
|
||||
.map_err(|_| "metrics-address is not a valid IP address.")?;
|
||||
}
|
||||
|
||||
if let Some(port) = cli_args.value_of("metrics-port") {
|
||||
@@ -236,20 +236,41 @@ pub fn get_config<E: EthSpec>(
|
||||
client_config.eth1.purge_cache = true;
|
||||
}
|
||||
|
||||
if let Some(endpoints) = cli_args.value_of("execution-endpoints") {
|
||||
client_config.sync_eth1_chain = true;
|
||||
client_config.execution_endpoints = endpoints
|
||||
.split(',')
|
||||
.map(SensitiveUrl::parse)
|
||||
.collect::<Result<_, _>>()
|
||||
.map(Some)
|
||||
.map_err(|e| format!("execution-endpoints contains an invalid URL {:?}", e))?;
|
||||
} else if cli_args.is_present("merge") {
|
||||
client_config.execution_endpoints = Some(client_config.eth1.endpoints.clone());
|
||||
}
|
||||
if cli_args.is_present("merge") || cli_args.is_present("execution-endpoints") {
|
||||
let mut el_config = execution_layer::Config::default();
|
||||
|
||||
client_config.suggested_fee_recipient =
|
||||
clap_utils::parse_optional(cli_args, "suggested-fee-recipient")?;
|
||||
if let Some(endpoints) = cli_args.value_of("execution-endpoints") {
|
||||
client_config.sync_eth1_chain = true;
|
||||
el_config.execution_endpoints = endpoints
|
||||
.split(',')
|
||||
.map(SensitiveUrl::parse)
|
||||
.collect::<Result<_, _>>()
|
||||
.map_err(|e| format!("execution-endpoints contains an invalid URL {:?}", e))?;
|
||||
} else if cli_args.is_present("merge") {
|
||||
el_config.execution_endpoints = client_config.eth1.endpoints.clone();
|
||||
}
|
||||
|
||||
if let Some(secrets) = cli_args.value_of("jwt-secrets") {
|
||||
let secret_files: Vec<_> = secrets.split(',').map(PathBuf::from).collect();
|
||||
if !secret_files.is_empty() && secret_files.len() != el_config.execution_endpoints.len()
|
||||
{
|
||||
return Err(format!(
|
||||
"{} execution-endpoints supplied with {} jwt-secrets. Lengths \
|
||||
must match or jwt-secrets must be empty.",
|
||||
el_config.execution_endpoints.len(),
|
||||
secret_files.len(),
|
||||
));
|
||||
}
|
||||
el_config.secret_files = secret_files;
|
||||
}
|
||||
|
||||
el_config.suggested_fee_recipient =
|
||||
clap_utils::parse_optional(cli_args, "suggested-fee-recipient")?;
|
||||
el_config.jwt_id = clap_utils::parse_optional(cli_args, "jwt-id")?;
|
||||
el_config.jwt_version = clap_utils::parse_optional(cli_args, "jwt-version")?;
|
||||
el_config.default_datadir = client_config.data_dir.clone();
|
||||
client_config.execution_layer = Some(el_config);
|
||||
}
|
||||
|
||||
if let Some(freezer_dir) = cli_args.value_of("freezer-dir") {
|
||||
client_config.freezer_db_path = Some(PathBuf::from(freezer_dir));
|
||||
@@ -760,6 +781,10 @@ pub fn set_network_config(
|
||||
config.metrics_enabled = true;
|
||||
}
|
||||
|
||||
if cli_args.is_present("enable-private-discovery") {
|
||||
config.discv5_config.table_filter = |_| true;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user