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

Implementation name.

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.

Executable file description.

Executable file author.

Support URL.

Copyright starting year (x-current year)

Chain spec factory

Native runtime version.

Provided methods

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.

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.

Returns the client ID: {impl_name}/v{impl_version}

Only create a Configuration for the command provided in argument

Create a runner for the command provided in argument. This will create a Configuration and a tokio runtime

Implementors