Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Light Client server by default #6950

Merged
merged 4 commits into from
Feb 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -170,7 +170,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