diff --git a/cli/src/commands/node/mod.rs b/cli/src/commands/node/mod.rs index 1e78d5af5d..fde5d76d9a 100644 --- a/cli/src/commands/node/mod.rs +++ b/cli/src/commands/node/mod.rs @@ -94,11 +94,13 @@ pub struct Node { /// Enable block producer with this key file /// - /// MINA_PRIVKEY_PASS must be set to decrypt the keyfile + /// MINA_PRIVKEY_PASS must be set to decrypt the keyfile if it is password-protected #[arg(long, env, group = "producer")] pub producer_key: Option, - #[arg(env = "MINA_PRIVKEY_PASS")] - pub producer_key_password: Option, + + /// Password used to decrypt the producer key file. + #[arg(env = "MINA_PRIVKEY_PASS", default_value = "")] + pub producer_key_password: String, /// Address to send coinbase rewards to (if this node is producing blocks). /// If not provided, coinbase rewards will be sent to the producer @@ -222,13 +224,12 @@ impl Node { .block_verifier_index(block_verifier_index.clone()) .work_verifier_index(work_verifier_index.clone()); - if let (Some(producer_key_path), Some(pasword)) = - (self.producer_key, &self.producer_key_password) - { + if let Some(producer_key_path) = self.producer_key { + let password = &self.producer_key_password; node::core::info!(node::core::log::system_time(); summary = "loading provers index"); let provers = BlockProver::make(Some(block_verifier_index), Some(work_verifier_index)); node::core::info!(node::core::log::system_time(); summary = "loaded provers index"); - node_builder.block_producer_from_file(provers, producer_key_path, pasword)?; + node_builder.block_producer_from_file(provers, producer_key_path, password)?; if let Some(pub_key) = self.coinbase_receiver { node_builder