Store blobs in separate freezer or historical state freezer

This commit is contained in:
Emilia Hane
2023-01-11 00:17:26 +01:00
parent 41567194e9
commit f9737628fc
7 changed files with 112 additions and 3 deletions

View File

@@ -28,6 +28,13 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
.help("Data directory for the freezer database.")
.takes_value(true)
)
.arg(
Arg::with_name("blobs-freezer-dir")
.long("blobs-freezer-dir")
.value_name("DIR")
.help("Data directory for the blobs freezer database.")
.takes_value(true)
)
/*
* Network parameters.
*/

View File

@@ -390,6 +390,10 @@ pub fn get_config<E: EthSpec>(
client_config.freezer_db_path = Some(PathBuf::from(freezer_dir));
}
if let Some(blobs_freezer_dir) = cli_args.value_of("blobs-freezer-dir") {
client_config.blobs_freezer_db_path = Some(PathBuf::from(blobs_freezer_dir));
}
let (sprp, sprp_explicit) = get_slots_per_restore_point::<E>(cli_args)?;
client_config.store.slots_per_restore_point = sprp;
client_config.store.slots_per_restore_point_set_explicitly = sprp_explicit;

View File

@@ -64,6 +64,12 @@ impl<E: EthSpec> ProductionBeaconNode<E> {
let _datadir = client_config.create_data_dir()?;
let db_path = client_config.create_db_path()?;
let freezer_db_path = client_config.create_freezer_db_path()?;
let blobs_freezer_db_path =
if let Some(path) = client_config.create_blobs_freezer_db_path()? {
Some(*path.as_path().clone())
} else {
None
};
let executor = context.executor.clone();
if let Some(legacy_dir) = client_config.get_existing_legacy_data_dir() {
@@ -84,7 +90,13 @@ impl<E: EthSpec> ProductionBeaconNode<E> {
.runtime_context(context)
.chain_spec(spec)
.http_api_config(client_config.http_api.clone())
.disk_store(&db_path, &freezer_db_path, store_config, log.clone())?;
.disk_store(
&db_path,
&freezer_db_path,
blobs_freezer_db_path,
store_config,
log.clone(),
)?;
let builder = if let Some(slasher_config) = client_config.slasher.clone() {
let slasher = Arc::new(