Ensure desired pruning behavior is held within the node

This commit is contained in:
Luke Parker
2025-11-18 21:46:58 -05:00
parent 6b19780c7b
commit e1e6e67d4a
2 changed files with 21 additions and 17 deletions

View File

@@ -57,25 +57,25 @@ pub fn run() -> sc_cli::Result<()> {
cli.create_runner(cmd)?.sync_run(|config| cmd.run(config.chain_spec, config.network)) cli.create_runner(cmd)?.sync_run(|config| cmd.run(config.chain_spec, config.network))
} }
Some(Subcommand::CheckBlock(cmd)) => cli.create_runner(cmd)?.async_run(|config| { Some(Subcommand::CheckBlock(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| {
let PartialComponents { client, task_manager, import_queue, .. } = let PartialComponents { client, task_manager, import_queue, .. } =
service::new_partial(&config)?.0; service::new_partial(&mut config)?.0;
Ok((cmd.run(client, import_queue), task_manager)) Ok((cmd.run(client, import_queue), task_manager))
}), }),
Some(Subcommand::ExportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|config| { Some(Subcommand::ExportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| {
let PartialComponents { client, task_manager, .. } = service::new_partial(&config)?.0; let PartialComponents { client, task_manager, .. } = service::new_partial(&mut config)?.0;
Ok((cmd.run(client, config.database), task_manager)) Ok((cmd.run(client, config.database), task_manager))
}), }),
Some(Subcommand::ExportState(cmd)) => cli.create_runner(cmd)?.async_run(|config| { Some(Subcommand::ExportState(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| {
let PartialComponents { client, task_manager, .. } = service::new_partial(&config)?.0; let PartialComponents { client, task_manager, .. } = service::new_partial(&mut config)?.0;
Ok((cmd.run(client, config.chain_spec), task_manager)) Ok((cmd.run(client, config.chain_spec), task_manager))
}), }),
Some(Subcommand::ImportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|config| { Some(Subcommand::ImportBlocks(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| {
let PartialComponents { client, task_manager, import_queue, .. } = let PartialComponents { client, task_manager, import_queue, .. } =
service::new_partial(&config)?.0; service::new_partial(&mut config)?.0;
Ok((cmd.run(client, import_queue), task_manager)) Ok((cmd.run(client, import_queue), task_manager))
}), }),
@@ -83,9 +83,9 @@ pub fn run() -> sc_cli::Result<()> {
cli.create_runner(cmd)?.sync_run(|config| cmd.run(config.database)) cli.create_runner(cmd)?.sync_run(|config| cmd.run(config.database))
} }
Some(Subcommand::Revert(cmd)) => cli.create_runner(cmd)?.async_run(|config| { Some(Subcommand::Revert(cmd)) => cli.create_runner(cmd)?.async_run(|mut config| {
let PartialComponents { client, task_manager, backend, .. } = let PartialComponents { client, task_manager, backend, .. } =
service::new_partial(&config)?.0; service::new_partial(&mut config)?.0;
let aux_revert = Box::new(|client: Arc<FullClient>, backend, blocks| { let aux_revert = Box::new(|client: Arc<FullClient>, backend, blocks| {
sc_consensus_babe::revert(client.clone(), backend, blocks)?; sc_consensus_babe::revert(client.clone(), backend, blocks)?;
sc_consensus_grandpa::revert(client, blocks)?; sc_consensus_grandpa::revert(client, blocks)?;

View File

@@ -65,7 +65,7 @@ fn create_inherent_data_providers(
#[allow(clippy::type_complexity)] #[allow(clippy::type_complexity)]
pub fn new_partial( pub fn new_partial(
config: &Configuration, config: &mut Configuration,
) -> Result< ) -> Result<
( (
PartialComponents< PartialComponents<
@@ -79,6 +79,15 @@ pub fn new_partial(
), ),
ServiceError, ServiceError,
> { > {
// TODO: Copy events on block import, allow arbitrary pruning of state
config.state_pruning = Some(sc_service::PruningMode::ArchiveCanonical);
config.blocks_pruning = sc_service::BlocksPruning::KeepAll;
config.network.node_name = "serai".to_string();
config.network.client_version = "0.1.0".to_string();
config.network.listen_addresses =
vec!["/ip4/0.0.0.0/tcp/30333".parse().unwrap(), "/ip6/::/tcp/30333".parse().unwrap()];
let telemetry = config let telemetry = config
.telemetry_endpoints .telemetry_endpoints
.clone() .clone()
@@ -208,12 +217,7 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
other: (block_import, babe_link, grandpa_link, shared_voter_state, mut telemetry), other: (block_import, babe_link, grandpa_link, shared_voter_state, mut telemetry),
}, },
keystore_container, keystore_container,
) = new_partial(&config)?; ) = new_partial(&mut config)?;
config.network.node_name = "serai".to_string();
config.network.client_version = "0.1.0".to_string();
config.network.listen_addresses =
vec!["/ip4/0.0.0.0/tcp/30333".parse().unwrap(), "/ip6/::/tcp/30333".parse().unwrap()];
type N = sc_network::service::NetworkWorker<Block, <Block as sp_runtime::traits::Block>::Hash>; type N = sc_network::service::NetworkWorker<Block, <Block as sp_runtime::traits::Block>::Hash>;
let mut net_config = sc_network::config::FullNetworkConfiguration::<_, _, N>::new( let mut net_config = sc_network::config::FullNetworkConfiguration::<_, _, N>::new(