Ethereum classic (#1706)
* Add Ethereum Classic support (Rename homestead-dogmatic -> classic) * Additional change needed. * More needed changes. * Separate database path for known forks. * Address minor grumble.
This commit is contained in:
@@ -201,7 +201,7 @@ impl Configuration {
|
||||
pub fn spec(&self) -> Spec {
|
||||
match self.chain().as_str() {
|
||||
"frontier" | "homestead" | "mainnet" => ethereum::new_frontier(),
|
||||
"homestead-dogmatic" => ethereum::new_frontier_dogmatic(),
|
||||
"frontier-dogmatic" | "homestead-dogmatic" | "classic" => ethereum::new_classic(),
|
||||
"morden" | "testnet" => ethereum::new_morden(),
|
||||
"olympic" => ethereum::new_olympic(),
|
||||
f => Spec::load(contents(f).unwrap_or_else(|_| {
|
||||
@@ -288,7 +288,7 @@ impl Configuration {
|
||||
let mut latest_era = None;
|
||||
let jdb_types = [journaldb::Algorithm::Archive, journaldb::Algorithm::EarlyMerge, journaldb::Algorithm::OverlayRecent, journaldb::Algorithm::RefCounted];
|
||||
for i in jdb_types.into_iter() {
|
||||
let db = journaldb::new(&append_path(&get_db_path(Path::new(&self.path()), *i, spec.genesis_header().hash()), "state"), *i, kvdb::DatabaseConfig::default());
|
||||
let db = journaldb::new(&append_path(&get_db_path(Path::new(&self.path()), *i, spec.genesis_header().hash(), spec.fork_name.as_ref()), "state"), *i, kvdb::DatabaseConfig::default());
|
||||
trace!(target: "parity", "Looking for best DB: {} at {:?}", i, db.latest_era());
|
||||
match (latest_era, db.latest_era()) {
|
||||
(Some(best), Some(this)) if best >= this => {}
|
||||
|
||||
@@ -188,7 +188,7 @@ fn execute_upgrades(conf: &Configuration, spec: &Spec, client_config: &ClientCon
|
||||
_ => {},
|
||||
}
|
||||
|
||||
let db_path = get_db_path(Path::new(&conf.path()), client_config.pruning, spec.genesis_header().hash());
|
||||
let db_path = get_db_path(Path::new(&conf.path()), client_config.pruning, spec.genesis_header().hash(), spec.fork_name.as_ref());
|
||||
let result = migrate(&db_path, client_config.pruning);
|
||||
if let Err(err) = result {
|
||||
die_with_message(&format!("{} DB path: {}", err, db_path.to_string_lossy()));
|
||||
|
||||
Reference in New Issue
Block a user