mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-09 20:11:09 +00:00
Reserved peers CLI flag (#528)
This commit is contained in:
committed by
Gav Wood
parent
36122833a1
commit
9d88d868dd
@@ -70,6 +70,12 @@ args:
|
||||
help: Specify a list of bootnodes
|
||||
takes_value: true
|
||||
multiple: true
|
||||
- reserved-nodes:
|
||||
long: reserved-nodes
|
||||
value_name: URL
|
||||
help: Specify a list of reserved node addresses
|
||||
takes_value: true
|
||||
multiple: true
|
||||
- chain:
|
||||
long: chain
|
||||
value_name: CHAIN_SPEC
|
||||
|
||||
@@ -61,6 +61,7 @@ use service::{
|
||||
ServiceFactory, FactoryFullConfiguration, RuntimeGenesis,
|
||||
FactoryGenesis, PruningMode, ChainSpec,
|
||||
};
|
||||
use network::NonReservedPeerMode;
|
||||
|
||||
use std::io::{Write, Read, stdin, stdout};
|
||||
use std::iter;
|
||||
@@ -278,6 +279,12 @@ where
|
||||
.map_or(Default::default(), |v| v.map(|n| n.to_owned()).collect::<Vec<_>>()));
|
||||
config.network.config_path = Some(network_path(&base_path, config.chain_spec.id()).to_string_lossy().into());
|
||||
config.network.net_config_path = config.network.config_path.clone();
|
||||
config.network.reserved_nodes.extend(matches
|
||||
.values_of("reserved-nodes")
|
||||
.map_or(Default::default(), |v| v.map(|n| n.to_owned()).collect::<Vec<_>>()));
|
||||
if !config.network.reserved_nodes.is_empty() {
|
||||
config.network.non_reserved_mode = NonReservedPeerMode::Deny;
|
||||
}
|
||||
|
||||
let port = match matches.value_of("port") {
|
||||
Some(port) => port.parse().map_err(|_| "Invalid p2p port value specified.")?,
|
||||
|
||||
@@ -506,6 +506,16 @@ fn init_thread(
|
||||
}
|
||||
}
|
||||
|
||||
shared.network_state.set_non_reserved_mode(shared.config.non_reserved_mode.clone());
|
||||
for reserved in shared.config.reserved_nodes.iter() {
|
||||
match shared.network_state.add_reserved_peer(reserved) {
|
||||
Ok(who) => {
|
||||
trace!(target: "sub-libp2p", "Added reseved peer {:?}", who);
|
||||
},
|
||||
Err(err) => warn!(target:"sub-libp2p", "Couldn't parse reserved address: {}", err),
|
||||
}
|
||||
}
|
||||
|
||||
// Start connecting to nodes now.
|
||||
connect_to_nodes(shared.clone(), transport.clone(), &swarm_controller);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user