Trait tc_cli::TetcoreCli[][src]

pub trait TetcoreCli: Sized {
    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,
        telemetry_handle: Option<TelemetryHandle>
    ) -> Result<Configuration> { ... }
fn create_runner<T: CliConfiguration>(
        &self,
        command: &T
    ) -> Result<Runner<Self>> { ... } }

Tetcore 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_name() -> String[src]

Implementation name.

fn impl_version() -> String[src]

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[src]

Executable file description.

fn author() -> String[src]

Executable file author.

fn support_url() -> String[src]

Support URL.

fn copyright_start_year() -> i32[src]

Copyright starting year (x-current year)

fn load_spec(&self, id: &str) -> Result<Box<dyn ChainSpec>, String>[src]

Chain spec factory

fn native_runtime_version(
    chain_spec: &Box<dyn ChainSpec>
) -> &'static RuntimeVersion
[src]

Native runtime version.

Loading content...

Provided methods

fn executable_name() -> String[src]

Executable file name.

Extracts the file name from std::env::current_exe(). Resorts to the env var CARGO_PKG_NAME in case of Error.

fn from_args() -> Self where
    Self: StructOpt + Sized
[src]

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.

fn from_iter<I>(iter: I) -> Self where
    Self: StructOpt + Sized,
    I: IntoIterator,
    I::Item: Into<OsString> + Clone
[src]

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
[src]

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 client_id() -> String[src]

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

fn create_configuration<T: CliConfiguration<DVC>, DVC: DefaultConfigurationValues>(
    &self,
    command: &T,
    task_executor: TaskExecutor,
    telemetry_handle: Option<TelemetryHandle>
) -> Result<Configuration>
[src]

Only create a Configuration for the command provided in argument

fn create_runner<T: CliConfiguration>(
    &self,
    command: &T
) -> Result<Runner<Self>>
[src]

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

Loading content...

Implementors

Loading content...