Skip to content

Commit

Permalink
Enable Light Client server by default (#6950)
Browse files Browse the repository at this point in the history
  • Loading branch information
eserilev authored Feb 10, 2025
1 parent e3e21f7 commit afdda83
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 16 deletions.
2 changes: 1 addition & 1 deletion beacon_node/beacon_chain/src/chain_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ impl Default for ChainConfig {
genesis_backfill: false,
always_prepare_payload: false,
epochs_per_migration: crate::migrate::DEFAULT_EPOCHS_PER_MIGRATION,
enable_light_client_server: false,
enable_light_client_server: true,
malicious_withhold_count: 0,
enable_sampling: false,
blob_publication_batches: 4,
Expand Down
2 changes: 1 addition & 1 deletion beacon_node/http_api/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ impl Default for Config {
sse_capacity_multiplier: 1,
enable_beacon_processor: true,
duplicate_block_status_code: StatusCode::ACCEPTED,
enable_light_client_server: false,
enable_light_client_server: true,
target_peers: 100,
}
}
Expand Down
2 changes: 1 addition & 1 deletion beacon_node/lighthouse_network/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ impl Default for Config {
topics: Vec::new(),
proposer_only: false,
metrics_enabled: false,
enable_light_client_server: false,
enable_light_client_server: true,
outbound_rate_limiter_config: None,
invalid_block_storage: None,
inbound_rate_limiter_config: None,
Expand Down
13 changes: 11 additions & 2 deletions beacon_node/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1494,9 +1494,18 @@ pub fn cli_app() -> Command {
.arg(
Arg::new("light-client-server")
.long("light-client-server")
.help("Act as a full node supporting light clients on the p2p network \
[experimental]")
.help("DEPRECATED")
.action(ArgAction::SetTrue)

.help_heading(FLAG_HEADER)
.display_order(0)
)
.arg(
Arg::new("disable-light-client-server")
.long("disable-light-client-server")
.help("Disables light client support on the p2p network")
.action(ArgAction::SetTrue)

.help_heading(FLAG_HEADER)
.display_order(0)
)
Expand Down
14 changes: 11 additions & 3 deletions beacon_node/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -176,11 +176,19 @@ pub fn get_config<E: EthSpec>(
parse_required(cli_args, "http-duplicate-block-status")?;

client_config.http_api.enable_light_client_server =
cli_args.get_flag("light-client-server");
!cli_args.get_flag("disable-light-client-server");
}

if cli_args.get_flag("light-client-server") {
client_config.chain.enable_light_client_server = true;
warn!(
log,
"The --light-client-server flag is deprecated. The light client server is enabled \
by default"
);
}

if cli_args.get_flag("disable-light-client-server") {
client_config.chain.enable_light_client_server = false;
}

if let Some(cache_size) = clap_utils::parse_optional(cli_args, "shuffling-cache-size")? {
Expand Down Expand Up @@ -1419,7 +1427,7 @@ pub fn set_network_config(
}

// Light client server config.
config.enable_light_client_server = parse_flag(cli_args, "light-client-server");
config.enable_light_client_server = !parse_flag(cli_args, "disable-light-client-server");

// The self limiter is enabled by default. If the `self-limiter-protocols` flag is not provided,
// the default params will be used.
Expand Down
5 changes: 3 additions & 2 deletions book/src/help_bn.md
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,8 @@ Flags:
boot.
--disable-inbound-rate-limiter
Disables the inbound rate limiter (requests received by this node).
--disable-light-client-server
Disables light client support on the p2p network
--disable-log-timestamp
If present, do not include timestamps in logging output.
--disable-malloc-tuning
Expand Down Expand Up @@ -511,8 +513,7 @@ Flags:
already-subscribed subnets, use with --subscribe-all-subnets to ensure
all attestations are received for import.
--light-client-server
Act as a full node supporting light clients on the p2p network
[experimental]
DEPRECATED
--log-color
Force outputting colors when emitting logs to the terminal.
--logfile-compress
Expand Down
25 changes: 19 additions & 6 deletions lighthouse/tests/beacon_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2504,9 +2504,9 @@ fn light_client_server_default() {
CommandLineTest::new()
.run_with_zero_port()
.with_config(|config| {
assert!(!config.network.enable_light_client_server);
assert!(!config.chain.enable_light_client_server);
assert!(!config.http_api.enable_light_client_server);
assert!(config.network.enable_light_client_server);
assert!(config.chain.enable_light_client_server);
assert!(config.http_api.enable_light_client_server);
});
}

Expand All @@ -2522,13 +2522,26 @@ fn light_client_server_enabled() {
}

#[test]
fn light_client_http_server_enabled() {
fn light_client_server_disabled() {
CommandLineTest::new()
.flag("disable-light-client-server", None)
.run_with_zero_port()
.with_config(|config| {
assert!(!config.network.enable_light_client_server);
assert!(!config.chain.enable_light_client_server);
});
}

#[test]
fn light_client_http_server_disabled() {
CommandLineTest::new()
.flag("http", None)
.flag("light-client-server", None)
.flag("disable-light-client-server", None)
.run_with_zero_port()
.with_config(|config| {
assert!(config.http_api.enable_light_client_server);
assert!(!config.http_api.enable_light_client_server);
assert!(!config.network.enable_light_client_server);
assert!(!config.chain.enable_light_client_server);
});
}

Expand Down

0 comments on commit afdda83

Please sign in to comment.