Trait sc_cli::SubstrateCli [−][src]
pub trait SubstrateCli: Sized {}Show methods
fn impl_name() -> String; fn impl_version() -> String; fn description() -> String; fn author() -> String; fn support_url() -> String; fn copyright_start_year() -> i32; fn load_spec(&self, id: &str) -> Result<Box<dyn ChainSpec>, String>; fn native_runtime_version(
chain_spec: &Box<dyn ChainSpec>
) -> &'static RuntimeVersion; fn executable_name() -> String { ... } fn from_args() -> Self
where
Self: StructOpt + Sized, { ... } fn from_iter<I>(iter: I) -> Self
where
Self: StructOpt + Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone, { ... } fn try_from_iter<I>(iter: I) -> Result<Self>
where
Self: StructOpt + Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone, { ... } fn client_id() -> String { ... } fn create_configuration<T: CliConfiguration<DVC>, DVC: DefaultConfigurationValues>(
&self,
command: &T,
task_executor: TaskExecutor
) -> Result<Configuration> { ... } fn create_runner<T: CliConfiguration>(
&self,
command: &T
) -> Result<Runner<Self>> { ... }
Expand description
Substrate client CLI
This trait needs to be defined on the root structopt of the application. It will provide the implementation name, version, executable name, description, author, support_url, copyright start year and most importantly: how to load the chain spec.
StructOpt must not be in scope to use from_args (or the similar methods). This trait provides its own implementation that will fill the necessary field based on the trait’s functions.
Required methods
fn impl_version() -> String
fn impl_version() -> StringImplementation version.
By default this will look like this: 2.0.0-b950f731c-x86_64-linux-gnu where the hash is the short commit hash of the commit of in the Git repository.
fn description() -> String
fn description() -> StringExecutable file description.
Executable file author.
fn support_url() -> String
fn support_url() -> StringSupport URL.
fn copyright_start_year() -> i32
fn copyright_start_year() -> i32Copyright starting year (x-current year)
fn native_runtime_version(
chain_spec: &Box<dyn ChainSpec>
) -> &'static RuntimeVersion
fn native_runtime_version(
chain_spec: &Box<dyn ChainSpec>
) -> &'static RuntimeVersionNative runtime version.
Provided methods
fn executable_name() -> String
fn executable_name() -> StringExecutable file name.
Extracts the file name from std::env::current_exe().
Resorts to the env var CARGO_PKG_NAME in case of Error.
Helper function used to parse the command line arguments. This is the equivalent of
structopt’s from_iter() except that it takes a VersionInfo argument to provide the name of
the application, author, “about” and version. It will also set AppSettings::GlobalVersion.
To allow running the node without subcommand, tt also sets a few more settings:
AppSettings::ArgsNegateSubcommands and AppSettings::SubcommandsNegateReqs.
Gets the struct from the command line arguments. Print the error message and quit the program in case of failure.
Helper function used to parse the command line arguments. This is the equivalent of
structopt’s from_iter() except that it takes a VersionInfo argument to provide the name of
the application, author, “about” and version. It will also set AppSettings::GlobalVersion.
To allow running the node without subcommand, it also sets a few more settings:
AppSettings::ArgsNegateSubcommands and AppSettings::SubcommandsNegateReqs.
Gets the struct from any iterator such as a Vec of your making.
Print the error message and quit the program in case of failure.
fn try_from_iter<I>(iter: I) -> Result<Self> where
Self: StructOpt + Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone,
fn try_from_iter<I>(iter: I) -> Result<Self> where
Self: StructOpt + Sized,
I: IntoIterator,
I::Item: Into<OsString> + Clone, Helper function used to parse the command line arguments. This is the equivalent of
structopt’s from_iter() except that it takes a VersionInfo argument to provide the name of
the application, author, “about” and version. It will also set AppSettings::GlobalVersion.
To allow running the node without subcommand, it also sets a few more settings:
AppSettings::ArgsNegateSubcommands and AppSettings::SubcommandsNegateReqs.
Gets the struct from any iterator such as a Vec of your making.
Print the error message and quit the program in case of failure.
NOTE: This method WILL NOT exit when --help or --version (or short versions) are
used. It will return a clap::Error, where the clap::Error::kind is a
clap::ErrorKind::HelpDisplayed or clap::ErrorKind::VersionDisplayed respectively.
You must call clap::Error::exit or perform a std::process::exit.
fn create_configuration<T: CliConfiguration<DVC>, DVC: DefaultConfigurationValues>(
&self,
command: &T,
task_executor: TaskExecutor
) -> Result<Configuration>
fn create_configuration<T: CliConfiguration<DVC>, DVC: DefaultConfigurationValues>(
&self,
command: &T,
task_executor: TaskExecutor
) -> Result<Configuration>Only create a Configuration for the command provided in argument
fn create_runner<T: CliConfiguration>(
&self,
command: &T
) -> Result<Runner<Self>>
fn create_runner<T: CliConfiguration>(
&self,
command: &T
) -> Result<Runner<Self>>Create a runner for the command provided in argument. This will create a Configuration and a tokio runtime