From dfab5f9646cd009ec9b2123e34782cd4043603f1 Mon Sep 17 00:00:00 2001 From: Andrea Simeoni Date: Mon, 22 Sep 2025 22:19:40 +0200 Subject: [PATCH] fix(cli): bootnode default address (#18617) --- crates/cli/commands/src/p2p/bootnode.rs | 18 ++++++++---------- docs/vocs/docs/pages/cli/reth/p2p/bootnode.mdx | 4 ++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/crates/cli/commands/src/p2p/bootnode.rs b/crates/cli/commands/src/p2p/bootnode.rs index c27586b243..5db54ddf80 100644 --- a/crates/cli/commands/src/p2p/bootnode.rs +++ b/crates/cli/commands/src/p2p/bootnode.rs @@ -5,7 +5,7 @@ use reth_discv4::{DiscoveryUpdate, Discv4, Discv4Config}; use reth_discv5::{discv5::Event, Config, Discv5}; use reth_net_nat::NatResolver; use reth_network_peers::NodeRecord; -use std::{net::SocketAddr, str::FromStr}; +use std::net::SocketAddr; use tokio::select; use tokio_stream::StreamExt; use tracing::info; @@ -13,9 +13,9 @@ use tracing::info; /// Start a discovery only bootnode. #[derive(Parser, Debug)] pub struct Command { - /// Listen address for the bootnode (default: ":30301"). - #[arg(long, default_value = ":30301")] - pub addr: String, + /// Listen address for the bootnode (default: "0.0.0.0:30301"). + #[arg(long, default_value = "0.0.0.0:30301")] + pub addr: SocketAddr, /// Generate a new node key and save it to the specified file. #[arg(long, default_value = "")] @@ -39,15 +39,13 @@ impl Command { pub async fn execute(self) -> eyre::Result<()> { info!("Bootnode started with config: {:?}", self); let sk = reth_network::config::rng_secret_key(); - let socket_addr = SocketAddr::from_str(&self.addr)?; - let local_enr = NodeRecord::from_secret_key(socket_addr, &sk); + let local_enr = NodeRecord::from_secret_key(self.addr, &sk); let config = Discv4Config::builder().external_ip_resolver(Some(self.nat)).build(); - let (_discv4, mut discv4_service) = - Discv4::bind(socket_addr, local_enr, sk, config).await?; + let (_discv4, mut discv4_service) = Discv4::bind(self.addr, local_enr, sk, config).await?; - info!("Started discv4 at address:{:?}", socket_addr); + info!("Started discv4 at address:{:?}", self.addr); let mut discv4_updates = discv4_service.update_stream(); discv4_service.spawn(); @@ -57,7 +55,7 @@ impl Command { if self.v5 { info!("Starting discv5"); - let config = Config::builder(socket_addr).build(); + let config = Config::builder(self.addr).build(); let (_discv5, updates, _local_enr_discv5) = Discv5::start(&sk, config).await?; discv5_updates = Some(updates); }; diff --git a/docs/vocs/docs/pages/cli/reth/p2p/bootnode.mdx b/docs/vocs/docs/pages/cli/reth/p2p/bootnode.mdx index 69c8495b20..859fec8597 100644 --- a/docs/vocs/docs/pages/cli/reth/p2p/bootnode.mdx +++ b/docs/vocs/docs/pages/cli/reth/p2p/bootnode.mdx @@ -10,9 +10,9 @@ Usage: reth p2p bootnode [OPTIONS] Options: --addr - Listen address for the bootnode (default: ":30301") + Listen address for the bootnode (default: "0.0.0.0:30301") - [default: :30301] + [default: 0.0.0.0:30301] --gen-key Generate a new node key and save it to the specified file