Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Add a runtime_version function to SubstrateCli
Browse files Browse the repository at this point in the history
  • Loading branch information
expenses committed Jun 24, 2020
1 parent 0ad4e40 commit d066c02
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 19 deletions.
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions bin/node-template/node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ sp-finality-grandpa = { version = "2.0.0-rc3", path = "../../../primitives/final
sc-client-api = { version = "2.0.0-rc3", path = "../../../client/api" }
sp-runtime = { version = "2.0.0-rc3", path = "../../../primitives/runtime" }
sc-basic-authorship = { path = "../../../client/basic-authorship", version = "0.8.0-rc3"}
sp-version = { version = "2.0.0-rc3", path = "../../../primitives/version" }

This comment has been minimized.

Copy link
@cecton

cecton Jun 24, 2020

Contributor

ah! bummer. Maybe you can re-export it from sc-cli


node-template-runtime = { version = "2.0.0-rc3", path = "../runtime" }

Expand Down
16 changes: 9 additions & 7 deletions bin/node-template/node/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ use crate::cli::Cli;
use crate::service;
use sc_cli::SubstrateCli;
use sc_service::Role;
use sp_version::RuntimeVersion;

impl SubstrateCli for Cli {
fn impl_name() -> &'static str {
Expand Down Expand Up @@ -59,6 +60,10 @@ impl SubstrateCli for Cli {
)?),
})
}

fn runtime_version() -> &'static RuntimeVersion {
&node_template_runtime::VERSION
}
}

/// Parse and run command line arguments
Expand All @@ -72,13 +77,10 @@ pub fn run() -> sc_cli::Result<()> {
}
None => {
let runner = cli.create_runner(&cli.run)?;
runner.run_node_until_exit(
|config| match config.role {
Role::Light => service::new_light(config),
_ => service::new_full(config),
},
node_template_runtime::VERSION,
)
runner.run_node_until_exit(|config| match config.role {
Role::Light => service::new_light(config),
_ => service::new_full(config),
})
}
}
}
1 change: 1 addition & 0 deletions bin/node/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ sp-keyring = { version = "2.0.0-rc3", path = "../../../primitives/keyring" }
sp-io = { version = "2.0.0-rc3", path = "../../../primitives/io" }
sp-consensus = { version = "0.8.0-rc3", path = "../../../primitives/consensus/common" }
sp-transaction-pool = { version = "2.0.0-rc3", path = "../../../primitives/transaction-pool" }
sp-version = { version = "2.0.0-rc3", path = "../../../primitives/version" }

# client dependencies
sc-client-api = { version = "2.0.0-rc3", path = "../../../client/api" }
Expand Down
16 changes: 9 additions & 7 deletions bin/node/cli/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ use node_executor::Executor;
use node_runtime::{Block, RuntimeApi};
use sc_cli::{Result, SubstrateCli};
use sc_service::Role;
use sp_version::RuntimeVersion;

impl SubstrateCli for Cli {
fn impl_name() -> &'static str {
Expand Down Expand Up @@ -62,6 +63,10 @@ impl SubstrateCli for Cli {
)?),
})
}

fn runtime_version() -> &'static RuntimeVersion {
&node_runtime::VERSION
}
}

/// Parse command line arguments into service configuration.
Expand All @@ -71,13 +76,10 @@ pub fn run() -> Result<()> {
match &cli.subcommand {
None => {
let runner = cli.create_runner(&cli.run)?;
runner.run_node_until_exit(
|config| match config.role {
Role::Light => service::new_light(config),
_ => service::new_full(config),
},
node_runtime::VERSION,
)
runner.run_node_until_exit(|config| match config.role {
Role::Light => service::new_light(config),
_ => service::new_full(config),
})
}
Some(Subcommand::Inspect(cmd)) => {
let runner = cli.create_runner(cmd)?;
Expand Down
4 changes: 4 additions & 0 deletions client/cli/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ pub use params::*;
use regex::Regex;
pub use runner::*;
use sc_service::{ChainSpec, Configuration, TaskExecutor};
use sp_version::RuntimeVersion;
use std::io::Write;
pub use structopt;
use structopt::{
Expand Down Expand Up @@ -207,6 +208,9 @@ pub trait SubstrateCli: Sized {
command.init::<Self>()?;
Runner::new(self, command)
}

/// Runtime version.
fn runtime_version() -> &'static RuntimeVersion;
}

/// Initialize the logger
Expand Down
8 changes: 3 additions & 5 deletions client/cli/src/runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ use log::info;
use sc_service::{Configuration, ServiceBuilderCommand, TaskType, TaskManager};
use sp_runtime::traits::{Block as BlockT, Header as HeaderT};
use sp_utils::metrics::{TOKIO_THREADS_ALIVE, TOKIO_THREADS_TOTAL};
use sp_version::RuntimeVersion;
use std::{fmt::Debug, marker::PhantomData, str::FromStr};

#[cfg(target_family = "unix")]
Expand Down Expand Up @@ -153,7 +152,7 @@ impl<C: SubstrateCli> Runner<C> {
/// 2020-06-03 16:14:21 💾 Database: RocksDb at /tmp/c/chains/flamingfir7/db
/// 2020-06-03 16:14:21 ⛓ Native runtime: node-251 (substrate-node-1.tx1.au10)
/// ```
fn print_node_infos(&self, runtime_version: RuntimeVersion) {
fn print_node_infos(&self) {
info!("{}", C::impl_name());
info!("✌️ version {}", C::impl_version());
info!(
Expand All @@ -169,7 +168,7 @@ impl<C: SubstrateCli> Runner<C> {
self.config.database,
self.config.database.path().map_or_else(|| "<unknown>".to_owned(), |p| p.display().to_string())
);
info!("⛓ Native runtime: {}", runtime_version);
info!("⛓ Native runtime: {}", C::runtime_version());
}

/// A helper function that runs a future with tokio and stops if the process receives the signal
Expand Down Expand Up @@ -205,9 +204,8 @@ impl<C: SubstrateCli> Runner<C> {
pub fn run_node_until_exit(
mut self,
initialise: impl FnOnce(Configuration) -> sc_service::error::Result<TaskManager>,
runtime_version: RuntimeVersion,
) -> Result<()> {
self.print_node_infos(runtime_version);
self.print_node_infos();
let mut task_manager = initialise(self.config)?;
self.tokio_runtime.block_on(main(task_manager.future().fuse()))
.map_err(|e| e.to_string())?;
Expand Down

0 comments on commit d066c02

Please sign in to comment.