Trait sc_cli::CliConfiguration
source · pub trait CliConfiguration<DCV: DefaultConfigurationValues = ()>: Sized {
Show 50 methods
// Required method
fn shared_params(&self) -> &SharedParams;
// Provided methods
fn import_params(&self) -> Option<&ImportParams> { ... }
fn pruning_params(&self) -> Option<&PruningParams> { ... }
fn keystore_params(&self) -> Option<&KeystoreParams> { ... }
fn network_params(&self) -> Option<&NetworkParams> { ... }
fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams> { ... }
fn node_key_params(&self) -> Option<&NodeKeyParams> { ... }
fn database_params(&self) -> Option<&DatabaseParams> { ... }
fn base_path(&self) -> Result<Option<BasePath>> { ... }
fn is_dev(&self) -> Result<bool> { ... }
fn role(&self, _is_dev: bool) -> Result<Role> { ... }
fn transaction_pool(&self, _is_dev: bool) -> Result<TransactionPoolOptions> { ... }
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 keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig> { ... }
fn database_cache_size(&self) -> Result<Option<usize>> { ... }
fn database(&self) -> Result<Option<Database>> { ... }
fn database_config(
&self,
base_path: &PathBuf,
cache_size: usize,
database: Database
) -> Result<DatabaseSource> { ... }
fn trie_cache_maximum_size(&self) -> Result<Option<usize>> { ... }
fn state_pruning(&self) -> Result<Option<PruningMode>> { ... }
fn blocks_pruning(&self) -> Result<BlocksPruning> { ... }
fn chain_id(&self, is_dev: bool) -> Result<String> { ... }
fn node_name(&self) -> Result<String> { ... }
fn wasm_method(&self) -> Result<WasmExecutionMethod> { ... }
fn wasm_runtime_overrides(&self) -> Option<PathBuf> { ... }
fn rpc_addr(&self, _default_listen_port: u16) -> Result<Option<SocketAddr>> { ... }
fn rpc_methods(&self) -> Result<RpcMethods> { ... }
fn rpc_max_connections(&self) -> Result<u32> { ... }
fn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String>>> { ... }
fn rpc_max_request_size(&self) -> Result<u32> { ... }
fn rpc_max_response_size(&self) -> Result<u32> { ... }
fn rpc_max_subscriptions_per_connection(&self) -> Result<u32> { ... }
fn prometheus_config(
&self,
_default_listen_port: u16,
_chain_spec: &Box<dyn ChainSpec>
) -> Result<Option<PrometheusConfig>> { ... }
fn telemetry_endpoints(
&self,
chain_spec: &Box<dyn ChainSpec>
) -> Result<Option<TelemetryEndpoints>> { ... }
fn default_heap_pages(&self) -> Result<Option<u64>> { ... }
fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig> { ... }
fn force_authoring(&self) -> Result<bool> { ... }
fn disable_grandpa(&self) -> Result<bool> { ... }
fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>> { ... }
fn tracing_targets(&self) -> Result<Option<String>> { ... }
fn tracing_receiver(&self) -> Result<TracingReceiver> { ... }
fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig> { ... }
fn max_runtime_instances(&self) -> Result<Option<usize>> { ... }
fn runtime_cache_size(&self) -> Result<u8> { ... }
fn announce_block(&self) -> Result<bool> { ... }
fn create_configuration<C: SubstrateCli>(
&self,
cli: &C,
tokio_handle: Handle
) -> Result<Configuration> { ... }
fn log_filters(&self) -> Result<String> { ... }
fn detailed_log_output(&self) -> Result<bool> { ... }
fn enable_log_reloading(&self) -> Result<bool> { ... }
fn disable_log_color(&self) -> Result<bool> { ... }
fn init<F>(
&self,
support_url: &String,
impl_version: &String,
logger_hook: F,
config: &Configuration
) -> Result<()>
where F: FnOnce(&mut LoggerBuilder, &Configuration) { ... }
}
Expand description
A trait that allows converting an object to a Configuration
Required Methods§
Get the SharedParams for this object
Provided Methods§
sourcefn import_params(&self) -> Option<&ImportParams>
fn import_params(&self) -> Option<&ImportParams>
Get the ImportParams for this object
sourcefn pruning_params(&self) -> Option<&PruningParams>
fn pruning_params(&self) -> Option<&PruningParams>
Get the PruningParams for this object
sourcefn keystore_params(&self) -> Option<&KeystoreParams>
fn keystore_params(&self) -> Option<&KeystoreParams>
Get the KeystoreParams for this object
sourcefn network_params(&self) -> Option<&NetworkParams>
fn network_params(&self) -> Option<&NetworkParams>
Get the NetworkParams for this object
sourcefn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
Get a reference to OffchainWorkerParams
for this object.
sourcefn node_key_params(&self) -> Option<&NodeKeyParams>
fn node_key_params(&self) -> Option<&NodeKeyParams>
Get the NodeKeyParams for this object
sourcefn database_params(&self) -> Option<&DatabaseParams>
fn database_params(&self) -> Option<&DatabaseParams>
Get the DatabaseParams for this object
sourcefn base_path(&self) -> Result<Option<BasePath>>
fn base_path(&self) -> Result<Option<BasePath>>
Get the base path of the configuration (if any)
By default this is retrieved from SharedParams
.
sourcefn is_dev(&self) -> Result<bool>
fn is_dev(&self) -> Result<bool>
Returns true
if the node is for development or not
By default this is retrieved from SharedParams
.
sourcefn transaction_pool(&self, _is_dev: bool) -> Result<TransactionPoolOptions>
fn transaction_pool(&self, _is_dev: bool) -> Result<TransactionPoolOptions>
Get the transaction pool options
By default this is TransactionPoolOptions::default()
.
sourcefn 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>
Get the network configuration
By default this is retrieved from NetworkParams
if it is available otherwise it creates
a default NetworkConfiguration
based on node_name
, client_id
, node_key
and
net_config_dir
.
sourcefn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig>
fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig>
Get the keystore configuration.
By default this is retrieved from KeystoreParams
if it is available. Otherwise it uses
KeystoreConfig::InMemory
.
sourcefn database_cache_size(&self) -> Result<Option<usize>>
fn database_cache_size(&self) -> Result<Option<usize>>
Get the database cache size.
By default this is retrieved from DatabaseParams
if it is available. Otherwise its None
.
sourcefn database(&self) -> Result<Option<Database>>
fn database(&self) -> Result<Option<Database>>
Get the database backend variant.
By default this is retrieved from DatabaseParams
if it is available. Otherwise its None
.
sourcefn 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>
Get the database configuration object for the parameters provided
sourcefn trie_cache_maximum_size(&self) -> Result<Option<usize>>
fn trie_cache_maximum_size(&self) -> Result<Option<usize>>
Get the trie cache maximum size.
By default this is retrieved from ImportParams
if it is available. Otherwise its 0
.
If None
is returned the trie cache is disabled.
sourcefn state_pruning(&self) -> Result<Option<PruningMode>>
fn state_pruning(&self) -> Result<Option<PruningMode>>
Get the state pruning mode.
By default this is retrieved from PruningMode
if it is available. Otherwise its
PruningMode::default()
.
sourcefn blocks_pruning(&self) -> Result<BlocksPruning>
fn blocks_pruning(&self) -> Result<BlocksPruning>
Get the block pruning mode.
By default this is retrieved from block_pruning
if it is available. Otherwise its
BlocksPruning::KeepFinalized
.
sourcefn chain_id(&self, is_dev: bool) -> Result<String>
fn chain_id(&self, is_dev: bool) -> Result<String>
Get the chain ID (string).
By default this is retrieved from SharedParams
.
sourcefn node_name(&self) -> Result<String>
fn node_name(&self) -> Result<String>
Get the name of the node.
By default a random name is generated.
sourcefn wasm_method(&self) -> Result<WasmExecutionMethod>
fn wasm_method(&self) -> Result<WasmExecutionMethod>
Get the WASM execution method.
By default this is retrieved from ImportParams
if it is available. Otherwise its
WasmExecutionMethod::default()
.
sourcefn wasm_runtime_overrides(&self) -> Option<PathBuf>
fn wasm_runtime_overrides(&self) -> Option<PathBuf>
Get the path where WASM overrides live.
By default this is None
.
sourcefn rpc_addr(&self, _default_listen_port: u16) -> Result<Option<SocketAddr>>
fn rpc_addr(&self, _default_listen_port: u16) -> Result<Option<SocketAddr>>
Get the RPC address.
sourcefn rpc_methods(&self) -> Result<RpcMethods>
fn rpc_methods(&self) -> Result<RpcMethods>
Returns the RPC method set to expose.
By default this is RpcMethods::Auto
(unsafe RPCs are denied iff
rpc_external
returns true, respectively).
sourcefn rpc_max_connections(&self) -> Result<u32>
fn rpc_max_connections(&self) -> Result<u32>
Get the maximum number of RPC server connections.
sourcefn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String>>>
fn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String>>>
Get the RPC cors (None
if disabled)
By default this is Some(Vec::new())
.
sourcefn rpc_max_request_size(&self) -> Result<u32>
fn rpc_max_request_size(&self) -> Result<u32>
Get maximum RPC request payload size.
sourcefn rpc_max_response_size(&self) -> Result<u32>
fn rpc_max_response_size(&self) -> Result<u32>
Get maximum RPC response payload size.
sourcefn rpc_max_subscriptions_per_connection(&self) -> Result<u32>
fn rpc_max_subscriptions_per_connection(&self) -> Result<u32>
Get maximum number of subscriptions per connection.
sourcefn 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>>
Get the prometheus configuration (None
if disabled)
By default this is None
.
sourcefn telemetry_endpoints(
&self,
chain_spec: &Box<dyn ChainSpec>
) -> Result<Option<TelemetryEndpoints>>
fn telemetry_endpoints( &self, chain_spec: &Box<dyn ChainSpec> ) -> Result<Option<TelemetryEndpoints>>
Get the telemetry endpoints (if any)
By default this is retrieved from the chain spec loaded by load_spec
.
sourcefn default_heap_pages(&self) -> Result<Option<u64>>
fn default_heap_pages(&self) -> Result<Option<u64>>
Get the default value for heap pages
By default this is None
.
sourcefn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig>
fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig>
Returns an offchain worker config wrapped in Ok(_)
By default offchain workers are disabled.
Returns Ok(true)
if authoring should be forced
By default this is false
.
sourcefn disable_grandpa(&self) -> Result<bool>
fn disable_grandpa(&self) -> Result<bool>
Returns Ok(true)
if grandpa should be disabled
By default this is false
.
sourcefn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>>
fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>>
Get the development key seed from the current object
By default this is None
.
sourcefn tracing_targets(&self) -> Result<Option<String>>
fn tracing_targets(&self) -> Result<Option<String>>
Get the tracing targets from the current object (if any)
By default this is retrieved from SharedParams
if it is available. Otherwise its
None
.
sourcefn tracing_receiver(&self) -> Result<TracingReceiver>
fn tracing_receiver(&self) -> Result<TracingReceiver>
Get the TracingReceiver value from the current object
By default this is retrieved from SharedParams
if it is available. Otherwise its
TracingReceiver::default()
.
sourcefn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig>
fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig>
Get the node key from the current object
By default this is retrieved from NodeKeyParams
if it is available. Otherwise its
NodeKeyConfig::default()
.
sourcefn max_runtime_instances(&self) -> Result<Option<usize>>
fn max_runtime_instances(&self) -> Result<Option<usize>>
Get maximum runtime instances
By default this is None
.
sourcefn runtime_cache_size(&self) -> Result<u8>
fn runtime_cache_size(&self) -> Result<u8>
Get maximum different runtimes in cache
By default this is 2
.
sourcefn announce_block(&self) -> Result<bool>
fn announce_block(&self) -> Result<bool>
Activate or not the automatic announcing of blocks after import
By default this is false
.
sourcefn 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>
Create a Configuration object from the current object
sourcefn log_filters(&self) -> Result<String>
fn log_filters(&self) -> Result<String>
Get the filters for the logging.
This should be a list of comma-separated values.
Example: foo=trace,bar=debug,baz=info
By default this is retrieved from SharedParams
.
sourcefn detailed_log_output(&self) -> Result<bool>
fn detailed_log_output(&self) -> Result<bool>
Should the detailed log output be enabled.
sourcefn enable_log_reloading(&self) -> Result<bool>
fn enable_log_reloading(&self) -> Result<bool>
Is log reloading enabled?
sourcefn disable_log_color(&self) -> Result<bool>
fn disable_log_color(&self) -> Result<bool>
Should the log color output be disabled?
sourcefn init<F>(
&self,
support_url: &String,
impl_version: &String,
logger_hook: F,
config: &Configuration
) -> Result<()>where
F: FnOnce(&mut LoggerBuilder, &Configuration),
fn init<F>( &self, support_url: &String, impl_version: &String, logger_hook: F, config: &Configuration ) -> Result<()>where F: FnOnce(&mut LoggerBuilder, &Configuration),
Initialize substrate. This must be done only once per process.
This method:
- Sets the panic handler
- Optionally customize logger/profiling
- Initializes the logger
- Raises the FD limit
The logger_hook
closure is executed before the logger is constructed
and initialized. It is useful for setting up a custom profiler.
Example:
use sc_tracing::{SpanDatum, TraceEvent};
struct TestProfiler;
impl sc_tracing::TraceHandler for TestProfiler {
fn handle_span(&self, sd: &SpanDatum) {}
fn handle_event(&self, _event: &TraceEvent) {}
};
fn logger_hook() -> impl FnOnce(&mut sc_cli::LoggerBuilder, &sc_service::Configuration) -> () {
|logger_builder, config| {
logger_builder.with_custom_profiling(Box::new(TestProfiler{}));
}
}