Saving mixnode's config on init

This commit is contained in:
Jedrzej Stuczynski
2020-02-03 15:24:31 +00:00
parent fad5c98629
commit 15c0c731e9
3 changed files with 44 additions and 2 deletions
+26 -2
View File
@@ -1,5 +1,29 @@
use clap::{App, Arg};
use clap::{App, Arg, ArgMatches};
use config::NymConfig;
pub fn command_args<'a, 'b>() -> clap::App<'a, 'b> {
App::new("init").about("Initialise the mixnode")
App::new("init").about("Initialise the mixnode").arg(
Arg::with_name("id")
.long("id")
.help("Id of the nym-mixnode we want to create config for.")
.takes_value(true)
.required(true),
)
}
pub fn execute(matches: &ArgMatches) {
println!("Initialising mixnode...");
let id = matches.value_of("id").unwrap(); // required for now
let mut config = crate::config::Config::new(id);
// overriding config defaults here
let config_save_location = config.get_config_file_save_location();
config
.save_to_file(None)
.expect("Failed to save the config file");
println!("Saved configuration file to {:?}", config_save_location);
println!("Mixnode configuration completed.\n\n\n")
}
+17
View File
@@ -75,6 +75,23 @@ impl Config {
self.mixnode.id = id;
self
}
// getters
pub fn get_config_file_save_location(&self) -> PathBuf {
self.config_directory().join(Self::config_file_name())
}
pub fn get_private_identity_key_file(&self) -> PathBuf {
self.mixnode.private_identity_key_file.clone()
}
pub fn get_public_identity_key_file(&self) -> PathBuf {
self.mixnode.public_identity_key_file.clone()
}
pub fn get_directory_server(&self) -> String {
self.mixnode.directory_server.clone()
}
}
#[derive(Debug, Deserialize, PartialEq, Serialize)]
+1
View File
@@ -27,6 +27,7 @@ fn main() {
fn execute(matches: ArgMatches) {
match matches.subcommand() {
("init", Some(m)) => commands::init::execute(m),
("run", Some(m)) => node::runner::start(m),
_ => println!("{}", usage()),
}