Skip to content
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
15 changes: 8 additions & 7 deletions beacon_node/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,17 @@ pub fn cli_app() -> Command {
* Network parameters.
*/
.arg(
Arg::new("subscribe-all-data-column-subnets")
.long("subscribe-all-data-column-subnets")
Arg::new("supernode")
.long("supernode")
.alias("subscribe-all-data-column-subnets")
.action(ArgAction::SetTrue)
.help_heading(FLAG_HEADER)
.help("Subscribe to all data column subnets and participate in data custody for \
all columns. This will also advertise the beacon node as being long-lived \
subscribed to all data column subnets. \
NOTE: this is an experimental flag and may change any time without notice!")
.help("Run as a voluntary supernode. This node will subscribe to all data column \
subnets, custody all data columns, and perform reconstruction and cross-seeding. \
This requires significantly more bandwidth, storage, and computation requirements but \
the node will have direct access to all blobs via the beacon API and it \
helps network resilience by serving all data columns to syncing peers.")
.display_order(0)
.hide(true)
)
.arg(
// TODO(das): remove this before PeerDAS release
Expand Down
2 changes: 1 addition & 1 deletion beacon_node/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1154,7 +1154,7 @@ pub fn set_network_config(
config.network_dir = data_dir.join(DEFAULT_NETWORK_DIR);
};

if parse_flag(cli_args, "subscribe-all-data-column-subnets") {
if parse_flag(cli_args, "supernode") {
config.subscribe_all_data_column_subnets = true;
}

Expand Down
7 changes: 7 additions & 0 deletions book/src/help_bn.md
Original file line number Diff line number Diff line change
Expand Up @@ -571,6 +571,13 @@ Flags:
Subscribe to all subnets regardless of validator count. This will also
advertise the beacon node as being long-lived subscribed to all
subnets.
--supernode
Run as a voluntary supernode. This node will subscribe to all data
column subnets, custody all data columns, and perform reconstruction
and cross-seeding. This requires significantly more bandwidth,
storage, and computation requirements but the node will have direct
access to all blobs via the beacon API and it helps network resilience
by serving all data columns to syncing peers.
--validator-monitor-auto
Enables the automatic detection and monitoring of validators connected
to the HTTP API and using the subnet subscription endpoint. This
Expand Down
13 changes: 13 additions & 0 deletions lighthouse/tests/beacon_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,19 @@ fn network_subscribe_all_data_column_subnets_flag() {
.with_config(|config| assert!(config.network.subscribe_all_data_column_subnets));
}
#[test]
fn network_supernode_flag() {
CommandLineTest::new()
.flag("supernode", None)
.run_with_zero_port()
.with_config(|config| assert!(config.network.subscribe_all_data_column_subnets));
}
#[test]
fn network_subscribe_all_data_column_subnets_default() {
CommandLineTest::new()
.run_with_zero_port()
.with_config(|config| assert!(!config.network.subscribe_all_data_column_subnets));
}
#[test]
fn blob_publication_batches() {
CommandLineTest::new()
.flag("blob-publication-batches", Some("3"))
Expand Down
Loading