difftreelog
Use env var as node name
in: master
2 files changed
node/cli/src/cli.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use crate::chain_spec;18use std::path::PathBuf;19use clap::Parser;2021/// Sub-commands supported by the collator.22#[derive(Debug, Parser)]23pub enum Subcommand {24 /// Export the genesis state of the parachain.25 #[clap(name = "export-genesis-state")]26 ExportGenesisState(ExportGenesisStateCommand),2728 /// Export the genesis wasm of the parachain.29 #[clap(name = "export-genesis-wasm")]30 ExportGenesisWasm(ExportGenesisWasmCommand),3132 /// Build a chain specification.33 BuildSpec(sc_cli::BuildSpecCmd),3435 /// Validate blocks.36 CheckBlock(sc_cli::CheckBlockCmd),3738 /// Export blocks.39 ExportBlocks(sc_cli::ExportBlocksCmd),4041 /// Export the state of a given block into a chain spec.42 ExportState(sc_cli::ExportStateCmd),4344 /// Import blocks.45 ImportBlocks(sc_cli::ImportBlocksCmd),4647 /// Remove the whole chain.48 PurgeChain(cumulus_client_cli::PurgeChainCmd),4950 /// Revert the chain to a previous state.51 Revert(sc_cli::RevertCmd),5253 /// The custom benchmark subcommmand benchmarking runtime pallets.54 #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]55 Benchmark(frame_benchmarking_cli::BenchmarkCmd),56}5758/// Command for exporting the genesis state of the parachain59#[derive(Debug, Parser)]60pub struct ExportGenesisStateCommand {61 /// Output file name or stdout if unspecified.62 #[clap(parse(from_os_str))]63 pub output: Option<PathBuf>,6465 /// Id of the parachain this state is for.66 ///67 /// Default: 10068 #[clap(long, conflicts_with = "chain")]69 pub parachain_id: Option<u32>,7071 /// Write output in binary. Default is to write in hex.72 #[clap(short, long)]73 pub raw: bool,7475 /// The name of the chain for that the genesis state should be exported.76 #[clap(long, conflicts_with = "parachain-id")]77 pub chain: Option<String>,78}7980/// Command for exporting the genesis wasm file.81#[derive(Debug, Parser)]82pub struct ExportGenesisWasmCommand {83 /// Output file name or stdout if unspecified.84 #[clap(parse(from_os_str))]85 pub output: Option<PathBuf>,8687 /// Write output in binary. Default is to write in hex.88 #[clap(short, long)]89 pub raw: bool,9091 /// The name of the chain for that the genesis wasm file should be exported.92 #[clap(long)]93 pub chain: Option<String>,94}9596#[derive(Debug, Parser)]97#[clap(args_conflicts_with_subcommands = true, subcommand_negates_reqs = true)]98pub struct Cli {99 #[structopt(subcommand)]100 pub subcommand: Option<Subcommand>,101102 #[structopt(flatten)]103 pub run: cumulus_client_cli::RunCmd,104105 /// Relaychain arguments106 #[structopt(raw = true)]107 pub relaychain_args: Vec<String>,108}109110#[derive(Debug)]111pub struct RelayChainCli {112 /// The actual relay chain cli object.113 pub base: polkadot_cli::RunCmd,114115 /// Optional chain id that should be passed to the relay chain.116 pub chain_id: Option<String>,117118 /// The base path that should be used by the relay chain.119 pub base_path: Option<PathBuf>,120}121122impl RelayChainCli {123 /// Parse the relay chain CLI parameters using the para chain `Configuration`.124 pub fn new<'a>(125 para_config: &sc_service::Configuration,126 relay_chain_args: impl Iterator<Item = &'a String>,127 ) -> Self {128 let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec);129 let chain_id = extension.map(|e| e.relay_chain.clone());130 let base_path = para_config131 .base_path132 .as_ref()133 .map(|x| x.path().join("polkadot"));134 Self {135 base_path,136 chain_id,137 base: polkadot_cli::RunCmd::parse_from(relay_chain_args),138 }139 }140}1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use crate::chain_spec;18use std::{path::PathBuf, env};19use clap::Parser;2021const NODE_NAME_ENV: &str = "UNIQUE_NODE_NAME";2223/// Sub-commands supported by the collator.24#[derive(Debug, Parser)]25pub enum Subcommand {26 /// Export the genesis state of the parachain.27 #[clap(name = "export-genesis-state")]28 ExportGenesisState(ExportGenesisStateCommand),2930 /// Export the genesis wasm of the parachain.31 #[clap(name = "export-genesis-wasm")]32 ExportGenesisWasm(ExportGenesisWasmCommand),3334 /// Build a chain specification.35 BuildSpec(sc_cli::BuildSpecCmd),3637 /// Validate blocks.38 CheckBlock(sc_cli::CheckBlockCmd),3940 /// Export blocks.41 ExportBlocks(sc_cli::ExportBlocksCmd),4243 /// Export the state of a given block into a chain spec.44 ExportState(sc_cli::ExportStateCmd),4546 /// Import blocks.47 ImportBlocks(sc_cli::ImportBlocksCmd),4849 /// Remove the whole chain.50 PurgeChain(cumulus_client_cli::PurgeChainCmd),5152 /// Revert the chain to a previous state.53 Revert(sc_cli::RevertCmd),5455 /// The custom benchmark subcommmand benchmarking runtime pallets.56 #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]57 Benchmark(frame_benchmarking_cli::BenchmarkCmd),58}5960/// Command for exporting the genesis state of the parachain61#[derive(Debug, Parser)]62pub struct ExportGenesisStateCommand {63 /// Output file name or stdout if unspecified.64 #[clap(parse(from_os_str))]65 pub output: Option<PathBuf>,6667 /// Id of the parachain this state is for.68 ///69 /// Default: 10070 #[clap(long, conflicts_with = "chain")]71 pub parachain_id: Option<u32>,7273 /// Write output in binary. Default is to write in hex.74 #[clap(short, long)]75 pub raw: bool,7677 /// The name of the chain for that the genesis state should be exported.78 #[clap(long, conflicts_with = "parachain-id")]79 pub chain: Option<String>,80}8182/// Command for exporting the genesis wasm file.83#[derive(Debug, Parser)]84pub struct ExportGenesisWasmCommand {85 /// Output file name or stdout if unspecified.86 #[clap(parse(from_os_str))]87 pub output: Option<PathBuf>,8889 /// Write output in binary. Default is to write in hex.90 #[clap(short, long)]91 pub raw: bool,9293 /// The name of the chain for that the genesis wasm file should be exported.94 #[clap(long)]95 pub chain: Option<String>,96}9798#[derive(Debug, Parser)]99#[clap(args_conflicts_with_subcommands = true, subcommand_negates_reqs = true)]100pub struct Cli {101 #[structopt(subcommand)]102 pub subcommand: Option<Subcommand>,103104 #[structopt(flatten)]105 pub run: cumulus_client_cli::RunCmd,106107 /// Relaychain arguments108 #[structopt(raw = true)]109 pub relaychain_args: Vec<String>,110}111112impl Cli {113 pub fn node_name() -> String {114 env::var(NODE_NAME_ENV).unwrap_or("Unknown".into())115 }116}117118#[derive(Debug)]119pub struct RelayChainCli {120 /// The actual relay chain cli object.121 pub base: polkadot_cli::RunCmd,122123 /// Optional chain id that should be passed to the relay chain.124 pub chain_id: Option<String>,125126 /// The base path that should be used by the relay chain.127 pub base_path: Option<PathBuf>,128}129130impl RelayChainCli {131 /// Parse the relay chain CLI parameters using the para chain `Configuration`.132 pub fn new<'a>(133 para_config: &sc_service::Configuration,134 relay_chain_args: impl Iterator<Item = &'a String>,135 ) -> Self {136 let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec);137 let chain_id = extension.map(|e| e.relay_chain.clone());138 let base_path = para_config139 .base_path140 .as_ref()141 .map(|x| x.path().join("polkadot"));142 Self {143 base_path,144 chain_id,145 base: polkadot_cli::RunCmd::parse_from(relay_chain_args),146 }147 }148}node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -99,7 +99,7 @@
impl SubstrateCli for Cli {
// TODO use args
fn impl_name() -> String {
- "Unique Node".into()
+ format!("{} Node", Self::node_name())
}
fn impl_version() -> String {
@@ -108,10 +108,11 @@
// TODO use args
fn description() -> String {
format!(
- "Unique Node\n\nThe command-line arguments provided first will be \
+ "{} Node\n\nThe command-line arguments provided first will be \
passed to the parachain node, while the arguments provided after -- will be passed \
to the relaychain node.\n\n\
{} [parachain-args] -- [relaychain-args]",
+ Self::node_name(),
Self::executable_name()
)
}
@@ -150,7 +151,7 @@
impl SubstrateCli for RelayChainCli {
// TODO use args
fn impl_name() -> String {
- "Unique Node".into()
+ format!("{} Node", Cli::node_name())
}
fn impl_version() -> String {
@@ -158,11 +159,13 @@
}
// TODO use args
fn description() -> String {
- "Unique Node\n\nThe command-line arguments provided first will be \
- passed to the parachain node, while the arguments provided after -- will be passed \
- to the relaychain node.\n\n\
- parachain-collator [parachain-args] -- [relaychain-args]"
- .into()
+ format!(
+ "{} Node\n\nThe command-line arguments provided first will be \
+ passed to the parachain node, while the arguments provided after -- will be passed \
+ to the relaychain node.\n\n\
+ parachain-collator [parachain-args] -- [relaychain-args]",
+ Cli::node_name()
+ )
}
fn author() -> String {