Struct sc_cli::NetworkParams
source · pub struct NetworkParams {Show 20 fields
pub bootnodes: Vec<MultiaddrWithPeerId>,
pub reserved_nodes: Vec<MultiaddrWithPeerId>,
pub reserved_only: bool,
pub public_addr: Vec<Multiaddr>,
pub listen_addr: Vec<Multiaddr>,
pub port: Option<u16>,
pub no_private_ip: bool,
pub allow_private_ip: bool,
pub out_peers: u32,
pub in_peers: u32,
pub in_peers_light: u32,
pub no_mdns: bool,
pub max_parallel_downloads: u32,
pub node_key_params: NodeKeyParams,
pub discover_local: bool,
pub kademlia_disjoint_query_paths: bool,
pub kademlia_replication_factor: NonZeroUsize,
pub ipfs_server: bool,
pub sync: SyncMode,
pub max_blocks_per_request: u32,
}
Expand description
Parameters used to create the network configuration.
Fields§
§bootnodes: Vec<MultiaddrWithPeerId>
Specify a list of bootnodes.
reserved_nodes: Vec<MultiaddrWithPeerId>
Specify a list of reserved node addresses.
reserved_only: bool
Whether to only synchronize the chain with reserved nodes. Also disables automatic peer discovery. TCP connections might still be established with non-reserved nodes. In particular, if you are a validator your node might still connect to other validator nodes and collator nodes regardless of whether they are defined as reserved nodes.
public_addr: Vec<Multiaddr>
The public address that other nodes will use to connect to it. This can be used if there’s a proxy in front of this node.
listen_addr: Vec<Multiaddr>
Listen on this multiaddress.
By default:
If --validator
is passed: /ip4/0.0.0.0/tcp/<port>
and /ip6/[::]/tcp/<port>
.
Otherwise: /ip4/0.0.0.0/tcp/<port>/ws
and /ip6/[::]/tcp/<port>/ws
.
port: Option<u16>
Specify p2p protocol TCP port.
no_private_ip: bool
Always forbid connecting to private IPv4/IPv6 addresses (as specified in
RFC1918), unless the address was passed with
--reserved-nodes
or --bootnodes
. Enabled by default for chains marked as “live” in
their chain specifications.
allow_private_ip: bool
Always accept connecting to private IPv4/IPv6 addresses (as specified in
RFC1918). Enabled by default for chains marked as
“local” in their chain specifications, or when --dev
is passed.
out_peers: u32
Specify the number of outgoing connections we’re trying to maintain.
in_peers: u32
Maximum number of inbound full nodes peers.
in_peers_light: u32
Maximum number of inbound light nodes peers.
no_mdns: bool
Disable mDNS discovery. By default, the network will use mDNS to discover other nodes on the local network. This disables it. Automatically implied when using –dev.
max_parallel_downloads: u32
Maximum number of peers from which to ask for the same blocks in parallel. This allows downloading announced blocks from multiple peers. Decrease to save traffic and risk increased latency.
node_key_params: NodeKeyParams
§discover_local: bool
Enable peer discovery on local networks.
By default this option is true
for --dev
or when the chain type is
Local
/Development
and false otherwise.
kademlia_disjoint_query_paths: bool
Require iterative Kademlia DHT queries to use disjoint paths for increased resiliency in the presence of potentially adversarial nodes. See the S/Kademlia paper for more information on the high level design as well as its security improvements.
kademlia_replication_factor: NonZeroUsize
Kademlia replication factor determines to how many closest peers a record is replicated to.
Discovery mechanism requires successful replication to all
kademlia_replication_factor
peers to consider record successfully put.
ipfs_server: bool
Join the IPFS network and serve transactions over bitswap protocol.
sync: SyncMode
Blockchain syncing mode.
max_blocks_per_request: u32
Maximum number of blocks per request.
Try reducing this number from the default value if you have a slow network connection and observe block requests timing out.
Implementations§
source§impl NetworkParams
impl NetworkParams
sourcepub fn network_config(
&self,
chain_spec: &Box<dyn ChainSpec>,
is_dev: bool,
is_validator: bool,
net_config_path: Option<PathBuf>,
client_id: &str,
node_name: &str,
node_key: NodeKeyConfig,
default_listen_port: u16
) -> NetworkConfiguration
pub fn network_config( &self, chain_spec: &Box<dyn ChainSpec>, is_dev: bool, is_validator: bool, net_config_path: Option<PathBuf>, client_id: &str, node_name: &str, node_key: NodeKeyConfig, default_listen_port: u16 ) -> NetworkConfiguration
Fill the given NetworkConfiguration
by looking at the cli parameters.
Trait Implementations§
source§impl Args for NetworkParams
impl Args for NetworkParams
source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id
][crate::ArgGroup::id] for this set of argumentssource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
source§impl Clone for NetworkParams
impl Clone for NetworkParams
source§fn clone(&self) -> NetworkParams
fn clone(&self) -> NetworkParams
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for NetworkParams
impl Debug for NetworkParams
source§impl FromArgMatches for NetworkParams
impl FromArgMatches for NetworkParams
source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches ) -> Result<Self, Error>
source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches ) -> Result<(), Error>
ArgMatches
to self
.source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches ) -> Result<(), Error>
ArgMatches
to self
.Auto Trait Implementations§
impl RefUnwindSafe for NetworkParams
impl Send for NetworkParams
impl Sync for NetworkParams
impl Unpin for NetworkParams
impl UnwindSafe for NetworkParams
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.