pub struct RunCmd {Show 37 fields
pub validator: bool,
pub no_grandpa: bool,
pub rpc_external: bool,
pub unsafe_rpc_external: bool,
pub rpc_methods: RpcMethods,
pub rpc_rate_limit: Option<NonZeroU32>,
pub rpc_rate_limit_whitelisted_ips: Vec<IpNetwork>,
pub rpc_rate_limit_trust_proxy_headers: bool,
pub rpc_max_request_size: u32,
pub rpc_max_response_size: u32,
pub rpc_max_subscriptions_per_connection: u32,
pub rpc_port: Option<u16>,
pub rpc_max_connections: u32,
pub rpc_message_buffer_capacity_per_connection: u32,
pub rpc_disable_batch_requests: bool,
pub rpc_max_batch_request_len: Option<u32>,
pub rpc_cors: Option<Cors>,
pub name: Option<String>,
pub telemetry_params: TelemetryParams,
pub prometheus_params: PrometheusParams,
pub runtime_params: RuntimeParams,
pub offchain_worker_params: OffchainWorkerParams,
pub shared_params: SharedParams,
pub import_params: ImportParams,
pub network_params: NetworkParams,
pub pool_config: TransactionPoolParams,
pub keystore_params: KeystoreParams,
pub alice: bool,
pub bob: bool,
pub charlie: bool,
pub dave: bool,
pub eve: bool,
pub ferdie: bool,
pub one: bool,
pub two: bool,
pub force_authoring: bool,
pub tmp: bool,
}Expand description
The run command used to run a node.
Fields§
§validator: boolEnable validator mode.
The node will be started with the authority role and actively participate in any consensus task that it can (e.g. depending on availability of local keys).
no_grandpa: boolDisable GRANDPA.
Disables voter when running in validator mode, otherwise disable the GRANDPA observer.
rpc_external: boolListen to all RPC interfaces (default: local).
Not all RPC methods are safe to be exposed publicly.
Use an RPC proxy server to filter out dangerous methods. More details: https://docs.substrate.io/build/remote-procedure-calls/#public-rpc-interfaces.
Use --unsafe-rpc-external to suppress the warning if you understand the risks.
unsafe_rpc_external: boolListen to all RPC interfaces.
Same as --rpc-external.
rpc_methods: RpcMethodsRPC methods to expose.
rpc_rate_limit: Option<NonZeroU32>RPC rate limiting (calls/minute) for each connection.
This is disabled by default.
For example --rpc-rate-limit 10 will maximum allow
10 calls per minute per connection.
rpc_rate_limit_whitelisted_ips: Vec<IpNetwork>Disable RPC rate limiting for certain ip addresses.
Each IP address must be in CIDR notation such as 1.2.3.4/24.
rpc_rate_limit_trust_proxy_headers: boolTrust proxy headers for disable rate limiting.
By default the rpc server will not trust headers such X-Real-IP, X-Forwarded-For and
Forwarded and this option will make the rpc server to trust these headers.
For instance this may be secure if the rpc server is behind a reverse proxy and that the proxy always sets these headers.
rpc_max_request_size: u32Set the maximum RPC request payload size for both HTTP and WS in megabytes.
rpc_max_response_size: u32Set the maximum RPC response payload size for both HTTP and WS in megabytes.
rpc_max_subscriptions_per_connection: u32Set the maximum concurrent subscriptions per connection.
rpc_port: Option<u16>Specify JSON-RPC server TCP port.
rpc_max_connections: u32Maximum number of RPC server connections.
rpc_message_buffer_capacity_per_connection: u32The number of messages the RPC server is allowed to keep in memory.
If the buffer becomes full then the server will not process new messages until the connected client start reading the underlying messages.
This applies per connection which includes both JSON-RPC methods calls and subscriptions.
rpc_disable_batch_requests: boolDisable RPC batch requests
rpc_max_batch_request_len: Option<u32>Limit the max length per RPC batch request
rpc_cors: Option<Cors>Specify browser origins allowed to access the HTTP & WS RPC servers.
A comma-separated list of origins (protocol://domain or special null
value). Value of all will disable origin validation. Default is to
allow localhost and https://polkadot.js.org origins. When running in
--dev mode the default is to allow all origins.
name: Option<String>The human-readable name for this node.
It’s used as network node name.
telemetry_params: TelemetryParams§prometheus_params: PrometheusParams§runtime_params: RuntimeParams§offchain_worker_params: OffchainWorkerParams§import_params: ImportParams§network_params: NetworkParams§pool_config: TransactionPoolParams§keystore_params: KeystoreParams§alice: boolShortcut for --name Alice --validator.
Session keys for Alice are added to keystore.
bob: boolShortcut for --name Bob --validator.
Session keys for Bob are added to keystore.
charlie: boolShortcut for --name Charlie --validator.
Session keys for Charlie are added to keystore.
dave: boolShortcut for --name Dave --validator.
Session keys for Dave are added to keystore.
eve: boolShortcut for --name Eve --validator.
Session keys for Eve are added to keystore.
ferdie: boolShortcut for --name Ferdie --validator.
Session keys for Ferdie are added to keystore.
one: boolShortcut for --name One --validator.
Session keys for One are added to keystore.
two: boolShortcut for --name Two --validator.
Session keys for Two are added to keystore.
Enable authoring even when offline.
tmp: boolRun a temporary node.
A temporary directory will be created to store the configuration and will be deleted at the end of the process.
Note: the directory is random per process execution. This directory is used as base path which includes: database, node key and keystore.
When --dev is given and no explicit --base-path, this option is implied.
Implementations§
source§impl RunCmd
impl RunCmd
sourcepub fn get_keyring(&self) -> Option<Sr25519Keyring>
pub fn get_keyring(&self) -> Option<Sr25519Keyring>
Get the Sr25519Keyring matching one of the flag.
Trait Implementations§
source§impl CliConfiguration for RunCmd
impl CliConfiguration for RunCmd
source§fn import_params(&self) -> Option<&ImportParams>
fn import_params(&self) -> Option<&ImportParams>
source§fn network_params(&self) -> Option<&NetworkParams>
fn network_params(&self) -> Option<&NetworkParams>
source§fn keystore_params(&self) -> Option<&KeystoreParams>
fn keystore_params(&self) -> Option<&KeystoreParams>
source§fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
OffchainWorkerParams for this object.source§fn dev_key_seed(&self, is_dev: bool) -> Result<Option<String>>
fn dev_key_seed(&self, is_dev: bool) -> Result<Option<String>>
source§fn telemetry_endpoints(
&self,
chain_spec: &Box<dyn ChainSpec>,
) -> Result<Option<TelemetryEndpoints>>
fn telemetry_endpoints( &self, chain_spec: &Box<dyn ChainSpec>, ) -> Result<Option<TelemetryEndpoints>>
Ok(true) if authoring should be forced Read moresource§fn prometheus_config(
&self,
default_listen_port: u16,
chain_spec: &Box<dyn ChainSpec>,
) -> Result<Option<PrometheusConfig>>
fn prometheus_config( &self, default_listen_port: u16, chain_spec: &Box<dyn ChainSpec>, ) -> Result<Option<PrometheusConfig>>
None if disabled) Read moresource§fn disable_grandpa(&self) -> Result<bool>
fn disable_grandpa(&self) -> Result<bool>
Ok(true) if grandpa should be disabled Read moresource§fn rpc_max_connections(&self) -> Result<u32>
fn rpc_max_connections(&self) -> Result<u32>
source§fn rpc_cors(&self, is_dev: bool) -> Result<Option<Vec<String>>>
fn rpc_cors(&self, is_dev: bool) -> Result<Option<Vec<String>>>
None if disabled) Read moresource§fn rpc_addr(&self, default_listen_port: u16) -> Result<Option<SocketAddr>>
fn rpc_addr(&self, default_listen_port: u16) -> Result<Option<SocketAddr>>
source§fn rpc_methods(&self) -> Result<RpcMethods>
fn rpc_methods(&self) -> Result<RpcMethods>
source§fn rpc_max_request_size(&self) -> Result<u32>
fn rpc_max_request_size(&self) -> Result<u32>
source§fn rpc_max_response_size(&self) -> Result<u32>
fn rpc_max_response_size(&self) -> Result<u32>
source§fn rpc_max_subscriptions_per_connection(&self) -> Result<u32>
fn rpc_max_subscriptions_per_connection(&self) -> Result<u32>
source§fn rpc_buffer_capacity_per_connection(&self) -> Result<u32>
fn rpc_buffer_capacity_per_connection(&self) -> Result<u32>
source§fn rpc_batch_config(&self) -> Result<RpcBatchRequestConfig>
fn rpc_batch_config(&self) -> Result<RpcBatchRequestConfig>
source§fn rpc_rate_limit(&self) -> Result<Option<NonZeroU32>>
fn rpc_rate_limit(&self) -> Result<Option<NonZeroU32>>
source§fn rpc_rate_limit_whitelisted_ips(&self) -> Result<Vec<IpNetwork>>
fn rpc_rate_limit_whitelisted_ips(&self) -> Result<Vec<IpNetwork>>
source§fn rpc_rate_limit_trust_proxy_headers(&self) -> Result<bool>
fn rpc_rate_limit_trust_proxy_headers(&self) -> Result<bool>
source§fn transaction_pool(&self, is_dev: bool) -> Result<TransactionPoolOptions>
fn transaction_pool(&self, is_dev: bool) -> Result<TransactionPoolOptions>
source§fn max_runtime_instances(&self) -> Result<Option<usize>>
fn max_runtime_instances(&self) -> Result<Option<usize>>
source§fn base_path(&self) -> Result<Option<BasePath>>
fn base_path(&self) -> Result<Option<BasePath>>
source§fn pruning_params(&self) -> Option<&PruningParams>
fn pruning_params(&self) -> Option<&PruningParams>
source§fn node_key_params(&self) -> Option<&NodeKeyParams>
fn node_key_params(&self) -> Option<&NodeKeyParams>
source§fn database_params(&self) -> Option<&DatabaseParams>
fn database_params(&self) -> Option<&DatabaseParams>
source§fn network_config(
&self,
chain_spec: &Box<dyn ChainSpec>,
is_dev: bool,
is_validator: bool,
net_config_dir: PathBuf,
client_id: &str,
node_name: &str,
node_key: NodeKeyConfig,
default_listen_port: u16,
) -> Result<NetworkConfiguration>
fn network_config( &self, chain_spec: &Box<dyn ChainSpec>, is_dev: bool, is_validator: bool, net_config_dir: PathBuf, client_id: &str, node_name: &str, node_key: NodeKeyConfig, default_listen_port: u16, ) -> Result<NetworkConfiguration>
source§fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig>
fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig>
source§fn database_config(
&self,
base_path: &PathBuf,
cache_size: usize,
database: Database,
) -> Result<DatabaseSource>
fn database_config( &self, base_path: &PathBuf, cache_size: usize, database: Database, ) -> Result<DatabaseSource>
source§fn trie_cache_maximum_size(&self) -> Result<Option<usize>>
fn trie_cache_maximum_size(&self) -> Result<Option<usize>>
source§fn state_pruning(&self) -> Result<Option<PruningMode>>
fn state_pruning(&self) -> Result<Option<PruningMode>>
source§fn blocks_pruning(&self) -> Result<BlocksPruning>
fn blocks_pruning(&self) -> Result<BlocksPruning>
source§fn wasm_method(&self) -> Result<WasmExecutionMethod>
fn wasm_method(&self) -> Result<WasmExecutionMethod>
source§fn wasm_runtime_overrides(&self) -> Option<PathBuf>
fn wasm_runtime_overrides(&self) -> Option<PathBuf>
source§fn default_heap_pages(&self) -> Result<Option<u64>>
fn default_heap_pages(&self) -> Result<Option<u64>>
source§fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig>
fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig>
Ok(_) Read moresource§fn tracing_targets(&self) -> Result<Option<String>>
fn tracing_targets(&self) -> Result<Option<String>>
source§fn tracing_receiver(&self) -> Result<TracingReceiver>
fn tracing_receiver(&self) -> Result<TracingReceiver>
source§fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig>
fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig>
source§fn announce_block(&self) -> Result<bool>
fn announce_block(&self) -> Result<bool>
source§fn create_configuration<C: SubstrateCli>(
&self,
cli: &C,
tokio_handle: Handle,
) -> Result<Configuration>
fn create_configuration<C: SubstrateCli>( &self, cli: &C, tokio_handle: Handle, ) -> Result<Configuration>
source§fn detailed_log_output(&self) -> Result<bool>
fn detailed_log_output(&self) -> Result<bool>
source§fn enable_log_reloading(&self) -> Result<bool>
fn enable_log_reloading(&self) -> Result<bool>
source§fn disable_log_color(&self) -> Result<bool>
fn disable_log_color(&self) -> Result<bool>
source§impl CommandFactory for RunCmd
impl CommandFactory for RunCmd
source§impl FromArgMatches for RunCmd
impl FromArgMatches for RunCmd
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.source§impl Parser for RunCmd
impl Parser for RunCmd
source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl Freeze for RunCmd
impl RefUnwindSafe for RunCmd
impl Send for RunCmd
impl Sync for RunCmd
impl Unpin for RunCmd
impl UnwindSafe for RunCmd
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§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 S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.