From 439fc0a908d3cd0d64a3f625a9aa3daf542d7891 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 16 Oct 2024 18:18:52 +0200 Subject: [PATCH 1/3] fixed create_miner tool to use the correct chain name --- .../src/engines/hbbft/dmd/src/create_miner.rs | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs b/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs index 7cfb4e3fbb..aed2208899 100644 --- a/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs +++ b/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs @@ -1,6 +1,7 @@ use ethstore::{KeyFile, SafeAccount}; use parity_crypto::publickey::{Generator, KeyPair, Random, Secret}; -use std::{fs, num::NonZeroU32, path::Path}; +use serde_json::Value; +use std::{fs, num::NonZeroU32, path::Path, str::FromStr}; fn write_json_for_secret(secret: Secret, filename: &str) { let json_key: KeyFile = SafeAccount::create( @@ -21,6 +22,38 @@ fn write_json_for_secret(secret: Secret, filename: &str) { pub fn create_miner() { println!("Creating dmd v4 miner..."); + let mut name: String = "DPoSChain".to_string(); + match fs::read_to_string("spec.json") { + Ok(s) => { + match serde_json::from_str(s.as_str()) { + Ok(Value::Object(map)) => { + if map.contains_key("name") { + let x = &map["name"]; + + match x.as_str() { + Some(n) => { + name = String::from_str(n).expect("could not parse chain name from spec.json"); + println!("chain: {}", name); + }, + None => { + println!("could not read chain name from spec.json"); + } + } + } + }, + _ => { + println!("unable to parse spec.json"); + } + } + }, + Err(e) => { + println!("unable to to open spec.json: {:?}", e); + }, + } + + //let serialized_json_key = + //serde_json::to_string(&json_key).expect("json key object serialization should succeed"); + let acc = Random.generate(); // Create "data" and "network" subfolders. @@ -31,8 +64,8 @@ pub fn create_miner() { .expect("Unable to write the network key file"); // Create "keys" and "DPoSChain" subfolders. - let accounts_dir = Path::new("./data/keys/DPoSChain"); - fs::create_dir_all(accounts_dir).expect("Could not create accounts directory"); + let accounts_dir = Path::new("./data/keys/").join(name); + fs::create_dir_all(accounts_dir.clone()).expect("Could not create accounts directory"); // Write JSON account. write_json_for_secret( From 8a3766d2de4db5a15d266dfbf23fc0e294f3762c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 18 Oct 2024 11:49:37 +0200 Subject: [PATCH 2/3] cargo fmt --all -- --config imports_granularity=Crate --- .../src/engines/hbbft/dmd/src/create_miner.rs | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs b/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs index aed2208899..1c28058008 100644 --- a/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs +++ b/crates/ethcore/src/engines/hbbft/dmd/src/create_miner.rs @@ -24,31 +24,30 @@ pub fn create_miner() { println!("Creating dmd v4 miner..."); let mut name: String = "DPoSChain".to_string(); match fs::read_to_string("spec.json") { - Ok(s) => { - match serde_json::from_str(s.as_str()) { - Ok(Value::Object(map)) => { - if map.contains_key("name") { - let x = &map["name"]; + Ok(s) => match serde_json::from_str(s.as_str()) { + Ok(Value::Object(map)) => { + if map.contains_key("name") { + let x = &map["name"]; - match x.as_str() { - Some(n) => { - name = String::from_str(n).expect("could not parse chain name from spec.json"); - println!("chain: {}", name); - }, - None => { - println!("could not read chain name from spec.json"); - } + match x.as_str() { + Some(n) => { + name = String::from_str(n) + .expect("could not parse chain name from spec.json"); + println!("chain: {}", name); + } + None => { + println!("could not read chain name from spec.json"); } } - }, - _ => { - println!("unable to parse spec.json"); } } + _ => { + println!("unable to parse spec.json"); + } }, Err(e) => { println!("unable to to open spec.json: {:?}", e); - }, + } } //let serialized_json_key = From 9e130811c8eff49f3b3bd055b70603427e6f14df Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 18 Oct 2024 11:56:36 +0200 Subject: [PATCH 3/3] setting gas_floor_target in the hbbft_config_generator. --- .../ethcore/src/engines/hbbft/hbbft_config_generator/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/ethcore/src/engines/hbbft/hbbft_config_generator/src/main.rs b/crates/ethcore/src/engines/hbbft/hbbft_config_generator/src/main.rs index e1dd9ac807..1eeadb9e7e 100644 --- a/crates/ethcore/src/engines/hbbft/hbbft_config_generator/src/main.rs +++ b/crates/ethcore/src/engines/hbbft/hbbft_config_generator/src/main.rs @@ -242,6 +242,7 @@ fn to_toml( // this makes sure that the min_gas_price wont be higher then the gas pricce the DAO decides. mining.insert("min_gas_price".into(), Value::Integer(1000)); mining.insert("reseal_on_txs".into(), Value::String("none".into())); + mining.insert("gas_floor_target".into(), Value::String("300000000".into())); mining.insert("reseal_min_period".into(), Value::Integer(0)); if let Some(tx_queue_per_sender_) = tx_queue_per_sender {