fix(cli): create net dir if non existent (#1809)

This commit is contained in:
Roman Krasiuk
2023-03-17 14:19:12 +02:00
committed by GitHub
parent 376bfa2b51
commit 3a01ad9cd7
2 changed files with 3 additions and 3 deletions

View File

@ -55,9 +55,8 @@ impl NetworkArgs {
config: &Config,
chain_spec: Arc<ChainSpec>,
) -> NetworkConfigBuilder {
let peers_file = (!self.no_persist_peers).then_some(&self.peers_file);
let network_config_builder = config
.network_config(self.nat, peers_file.map(|f| f.as_ref().to_path_buf()))
.network_config(self.nat, self.persistent_peers_file())
.boot_nodes(self.bootnodes.clone().unwrap_or_else(mainnet_nodes))
.chain_spec(chain_spec);

View File

@ -551,7 +551,8 @@ async fn run_network_until_shutdown<C>(
let known_peers = network.all_peers().collect::<Vec<_>>();
if let Ok(known_peers) = serde_json::to_string_pretty(&known_peers) {
trace!(target : "reth::cli", peers_file =?file_path, num_peers=%known_peers.len(), "Saving current peers");
match std::fs::write(&file_path, known_peers) {
let parent_dir = file_path.parent().map(std::fs::create_dir_all).transpose();
match parent_dir.and_then(|_| std::fs::write(&file_path, known_peers)) {
Ok(_) => {
info!(target: "reth::cli", peers_file=?file_path, "Wrote network peers to file");
}