mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-04-30 03:01:58 -04:00
feat(discv5): config via cli (#7394)
This commit is contained in:
@@ -3,7 +3,10 @@
|
||||
use crate::version::P2P_CLIENT_VERSION;
|
||||
use clap::Args;
|
||||
use reth_config::Config;
|
||||
use reth_discv4::{DEFAULT_DISCOVERY_ADDR, DEFAULT_DISCOVERY_PORT};
|
||||
use reth_discv4::{
|
||||
DEFAULT_DISCOVERY_ADDR, DEFAULT_DISCOVERY_PORT, DEFAULT_DISCOVERY_V5_ADDR,
|
||||
DEFAULT_DISCOVERY_V5_PORT,
|
||||
};
|
||||
use reth_net_nat::NatResolver;
|
||||
use reth_network::{
|
||||
transactions::{
|
||||
@@ -211,13 +214,27 @@ pub struct DiscoveryArgs {
|
||||
#[arg(long, conflicts_with = "disable_discovery")]
|
||||
pub disable_discv4_discovery: bool,
|
||||
|
||||
/// The UDP address to use for P2P discovery/networking
|
||||
/// Enable Discv5 discovery.
|
||||
#[arg(long, conflicts_with = "disable_discovery")]
|
||||
pub enable_discv5_discovery: bool,
|
||||
|
||||
/// The UDP address to use for devp2p peer discovery version 4.
|
||||
#[arg(id = "discovery.addr", long = "discovery.addr", value_name = "DISCOVERY_ADDR", default_value_t = DEFAULT_DISCOVERY_ADDR)]
|
||||
pub addr: IpAddr,
|
||||
|
||||
/// The UDP port to use for P2P discovery/networking
|
||||
/// The UDP port to use for devp2p peer discovery version 4.
|
||||
#[arg(id = "discovery.port", long = "discovery.port", value_name = "DISCOVERY_PORT", default_value_t = DEFAULT_DISCOVERY_PORT)]
|
||||
pub port: u16,
|
||||
|
||||
/// The UDP address to use for devp2p peer discovery version 5.
|
||||
#[arg(id = "discovery.v5.addr", long = "discovery.v5.addr", value_name = "DISCOVERY_V5_ADDR",
|
||||
default_value_t = DEFAULT_DISCOVERY_V5_ADDR)]
|
||||
pub discv5_addr: IpAddr,
|
||||
|
||||
/// The UDP port to use for devp2p peer discovery version 5.
|
||||
#[arg(id = "discovery.v5.port", long = "discovery.v5.port", value_name = "DISCOVERY_V5_PORT",
|
||||
default_value_t = DEFAULT_DISCOVERY_V5_PORT)]
|
||||
pub discv5_port: u16,
|
||||
}
|
||||
|
||||
impl DiscoveryArgs {
|
||||
@@ -233,6 +250,11 @@ impl DiscoveryArgs {
|
||||
if self.disable_discovery || self.disable_discv4_discovery {
|
||||
network_config_builder = network_config_builder.disable_discv4_discovery();
|
||||
}
|
||||
|
||||
if !self.disable_discovery && (self.enable_discv5_discovery || cfg!(feature = "optimism")) {
|
||||
network_config_builder = network_config_builder.enable_discv5_discovery();
|
||||
}
|
||||
|
||||
network_config_builder
|
||||
}
|
||||
|
||||
@@ -250,8 +272,11 @@ impl Default for DiscoveryArgs {
|
||||
disable_discovery: false,
|
||||
disable_dns_discovery: false,
|
||||
disable_discv4_discovery: false,
|
||||
enable_discv5_discovery: cfg!(feature = "optimism"),
|
||||
addr: DEFAULT_DISCOVERY_ADDR,
|
||||
port: DEFAULT_DISCOVERY_PORT,
|
||||
discv5_addr: DEFAULT_DISCOVERY_V5_ADDR,
|
||||
discv5_port: DEFAULT_DISCOVERY_V5_PORT,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -315,6 +340,7 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "optimism"))]
|
||||
#[test]
|
||||
fn network_args_default_sanity_test() {
|
||||
let default_args = NetworkArgs::default();
|
||||
|
||||
Reference in New Issue
Block a user