feat(provider): configurable blocks per static file segment (#19458)

This commit is contained in:
Alexey Shekhirin
2025-11-06 10:53:38 +00:00
committed by GitHub
parent 7cc4fdfaeb
commit e5c47fe350
8 changed files with 120 additions and 75 deletions

View File

@@ -67,7 +67,7 @@ use reth_node_metrics::{
use reth_provider::{
providers::{NodeTypesForProvider, ProviderNodeTypes, StaticFileProvider},
BlockHashReader, BlockNumReader, ProviderError, ProviderFactory, ProviderResult,
StageCheckpointReader, StaticFileProviderFactory,
StageCheckpointReader, StaticFileProviderBuilder, StaticFileProviderFactory,
};
use reth_prune::{PruneModes, PrunerBuilder};
use reth_rpc_builder::config::RethRpcServerConfig;
@@ -465,13 +465,14 @@ where
N: ProviderNodeTypes<DB = DB, ChainSpec = ChainSpec>,
Evm: ConfigureEvm<Primitives = N::Primitives> + 'static,
{
let factory = ProviderFactory::new(
self.right().clone(),
self.chain_spec(),
StaticFileProvider::read_write(self.data_dir().static_files())?,
)?
.with_prune_modes(self.prune_modes())
.with_static_files_metrics();
let static_file_provider =
StaticFileProviderBuilder::read_write(self.data_dir().static_files())?
.with_metrics()
.build()?;
let factory =
ProviderFactory::new(self.right().clone(), self.chain_spec(), static_file_provider)?
.with_prune_modes(self.prune_modes());
let has_receipt_pruning = self.toml_config().prune.has_receipts_pruning();