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() -> String
Implementation 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() -> String
Executable file description.
Executable file author.
fn support_url() -> String
fn support_url() -> String
Support URL.
fn copyright_start_year() -> i32
fn copyright_start_year() -> i32
Copyright 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 RuntimeVersion
Native runtime version.
Provided methods
fn executable_name() -> String
fn executable_name() -> String
Executable 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