diff --git a/parity/configuration.rs b/parity/configuration.rs index a1ace822e..f904c169c 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -939,7 +939,13 @@ impl Configuration { let is_using_base_path = self.args.arg_base_path.is_some(); // If base_path is set and db_path is not we default to base path subdir instead of LOCAL. let base_db_path = if is_using_base_path && self.args.arg_db_path.is_none() { - "$BASE/chains" + if self.args.flag_light { + "$BASE/chains_light" + } else { + "$BASE/chains" + } + } else if self.args.flag_light { + self.args.arg_db_path.as_ref().map_or(dir::CHAINS_PATH_LIGHT, |s| &s) } else { self.args.arg_db_path.as_ref().map_or(dir::CHAINS_PATH, |s| &s) }; diff --git a/util/dir/src/lib.rs b/util/dir/src/lib.rs index 88792fe8a..bc89c5f14 100644 --- a/util/dir/src/lib.rs +++ b/util/dir/src/lib.rs @@ -34,10 +34,14 @@ use platform::*; pub use dirs::home_dir; -/// Platform-specific chains path - Windows only +/// Platform-specific chains path for standard client - Windows only #[cfg(target_os = "windows")] pub const CHAINS_PATH: &str = "$LOCAL/chains"; -/// Platform-specific chains path +/// Platform-specific chains path for light client - Windows only +#[cfg(target_os = "windows")] pub const CHAINS_PATH_LIGHT: &str = "$LOCAL/chains_light"; +/// Platform-specific chains path for standard client #[cfg(not(target_os = "windows"))] pub const CHAINS_PATH: &str = "$BASE/chains"; +/// Platform-specific chains path for light client +#[cfg(not(target_os = "windows"))] pub const CHAINS_PATH_LIGHT: &str = "$BASE/chains_light"; /// Platform-specific cache path - Windows only #[cfg(target_os = "windows")] pub const CACHE_PATH: &str = "$LOCAL/cache";