diff --git a/crates/subspace-networking/src/bin/subspace-bootstrap-node/main.rs b/crates/subspace-networking/src/bin/subspace-bootstrap-node/main.rs index 93273d134d..f15889510a 100644 --- a/crates/subspace-networking/src/bin/subspace-bootstrap-node/main.rs +++ b/crates/subspace-networking/src/bin/subspace-bootstrap-node/main.rs @@ -163,9 +163,12 @@ async fn main() -> Result<(), Box> { max_established_outgoing_connections: out_peers, max_pending_incoming_connections: pending_in_peers, max_pending_outgoing_connections: pending_out_peers, - // we don't maintain permanent connections with any peer - general_connected_peers_handler: None, - special_connected_peers_handler: None, + // Maintain proactive connections with all peers + general_connected_peers_handler: Some(Arc::new(|_| true)), + // Maintain some number of persistent connections + general_connected_peers_target: in_peers / 8, + // Allow some more persistent connections from other peers + general_connected_peers_limit: in_peers / 4, bootstrap_addresses: bootstrap_nodes, kademlia_mode: KademliaMode::Static(Mode::Server), external_addresses,