From dad6f1f55692589f5ed994e3f2e98fd571566037 Mon Sep 17 00:00:00 2001 From: 0xOsiris Date: Tue, 24 Mar 2026 10:18:20 -0700 Subject: [PATCH] chore: wip --- Cargo.lock | 2 + crates/flashblocks/builder/Cargo.toml | 2 + .../builder/benches/coordinator.rs | 30 +- .../flashblocks/builder/src/bal_executor.rs | 102 ++-- crates/flashblocks/builder/src/coordinator.rs | 550 ++++++------------ crates/flashblocks/builder/src/executor.rs | 10 + crates/flashblocks/builder/src/lib.rs | 141 ++++- crates/flashblocks/builder/src/processor.rs | 260 +++++++++ crates/flashblocks/builder/src/test_utils.rs | 4 +- crates/world/node/src/context.rs | 4 +- reth.log | 416 +++++++++++++ 11 files changed, 1107 insertions(+), 414 deletions(-) create mode 100644 crates/flashblocks/builder/src/processor.rs create mode 100644 reth.log diff --git a/Cargo.lock b/Cargo.lock index 42f4a8cfd..08b3988b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3790,6 +3790,7 @@ dependencies = [ "metrics-derive", "op-alloy-consensus", "op-alloy-network", + "op-alloy-rpc-types-engine", "parking_lot", "proptest", "rayon", @@ -3819,6 +3820,7 @@ dependencies = [ "serde_json", "thiserror 2.0.18", "tokio", + "tokio-stream", "tracing", "tracing-subscriber 0.3.23", ] diff --git a/crates/flashblocks/builder/Cargo.toml b/crates/flashblocks/builder/Cargo.toml index 9a52933bd..a1926e239 100644 --- a/crates/flashblocks/builder/Cargo.toml +++ b/crates/flashblocks/builder/Cargo.toml @@ -47,6 +47,7 @@ alloy-primitives.workspace = true alloy-eips.workspace = true alloy-eip7928.workspace = true op-alloy-consensus.workspace = true +op-alloy-rpc-types-engine.workspace = true alloy-rpc-types-engine.workspace = true alloy-op-evm.workspace = true @@ -59,6 +60,7 @@ revm-database.workspace = true # tokio tokio.workspace = true +tokio-stream.workspace = true # misc crossbeam-channel.workspace = true diff --git a/crates/flashblocks/builder/benches/coordinator.rs b/crates/flashblocks/builder/benches/coordinator.rs index 1d2aeace5..e6911b46e 100644 --- a/crates/flashblocks/builder/benches/coordinator.rs +++ b/crates/flashblocks/builder/benches/coordinator.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use criterion::{BenchmarkId, Criterion, criterion_group, criterion_main}; use flashblocks_builder::{ - coordinator::{FlashblocksExecutionCoordinator, process_flashblock, run_flashblock_processor}, + coordinator::{FlashblocksExecutionCoordinator, run_flashblock_processor}, test_utils::{ BenchProvider, CHAIN_SPEC, EVM_CONFIG, build_flashblock_fixture_eth_transfers, build_flashblock_fixture_fib, build_flashblock_sequence_fixture_eth_transfers, @@ -40,6 +40,8 @@ fn fresh_coordinator( (coordinator, handle, pending_tx) } +/// Benchmarks a single flashblock by driving it through `run_flashblock_processor` +/// with a one-item stream. fn bench_process_flashblock_case( c: &mut Criterion, group_name: &str, @@ -58,16 +60,28 @@ fn bench_process_flashblock_case( group.bench_with_input(BenchmarkId::new("txs", tx_count), &tx_count, |b, &_n| { b.iter(|| { - let (coordinator, _handle, pending_tx) = fresh_coordinator(&rt); - process_flashblock( + let (coordinator, handle, pending_tx) = fresh_coordinator(&rt); + let coordinator = Arc::new(coordinator); + let pending_tx_clone = pending_tx.clone(); + + let stream = handle + .event_stream(provider.clone(), move |event| { + FlashblocksExecutionCoordinator::event_hook(event, &pending_tx_clone) + }) + .take(2); // 1 Canon(genesis) + 1 Pending flashblock + + handle.flashblocks_tx().send(flashblock.clone()).ok(); + + rt.block_on(run_flashblock_processor( + coordinator.clone(), + stream, provider.clone(), - &EVM_CONFIG, - &coordinator, + EVM_CONFIG.clone(), CHAIN_SPEC.clone(), - flashblock.clone(), pending_tx, - ) - .expect("process_flashblock failed"); + )); + + assert_eq!(coordinator.flashblocks().flashblocks().len(), 1); }); }); } diff --git a/crates/flashblocks/builder/src/bal_executor.rs b/crates/flashblocks/builder/src/bal_executor.rs index ac2e50d63..02802595b 100644 --- a/crates/flashblocks/builder/src/bal_executor.rs +++ b/crates/flashblocks/builder/src/bal_executor.rs @@ -5,6 +5,7 @@ use alloy_op_evm::{ block::receipt_builder::OpReceiptBuilder, }; use op_alloy_consensus::OpReceipt; +use reth_chain_state::ExecutedBlock; use reth_evm::{ Database, Evm, FromRecoveredTx, FromTxWithEncoded, block::{BlockExecutionError, BlockExecutor, InternalBlockExecutionError, StateDB}, @@ -12,7 +13,8 @@ use reth_evm::{ }; use reth_optimism_chainspec::OpChainSpec; use reth_optimism_evm::OpRethReceiptBuilder; -use reth_optimism_primitives::OpTransactionSigned; +use reth_optimism_forks::OpHardforks; +use reth_optimism_primitives::{OpPrimitives, OpTransactionSigned}; use reth_payload_primitives::BuiltPayload; use revm::{ DatabaseCommit, @@ -34,6 +36,7 @@ use reth_evm::{ }, op_revm::OpHaltReason, }; +use reth_node_api::BuiltPayloadExecutedBlock; use reth_optimism_node::{OpBlockAssembler, OpBuiltPayload}; use reth_primitives::{NodePrimitives, Recovered, RecoveredBlock, SealedHeader}; use reth_provider::StateProvider; @@ -314,6 +317,14 @@ where bundle, )) } + + fn set_committed_state(&mut self, _state: &ExecutedBlock) { + todo!("BalBlockBuilder::set_committed_state") + } + + fn chain_spec(&self) -> impl OpHardforks { + self.inner.executor.spec.clone() + } } /// Simple counter to track sub pre-confirmation block access index bounds. @@ -382,6 +393,55 @@ where } } +impl CommittedState +where + R: OpReceiptBuilder + Default, +{ + /// Constructs a [`CommittedState`] from an executed block and accumulated fees. + pub fn from_executed_block( + executed_block: Option<&BuiltPayloadExecutedBlock>, + fees: U256, + ) -> Self { + let Some(executed_block) = executed_block else { + return Self { + transactions: vec![], + receipts: vec![], + gas_used: 0, + fees: U256::ZERO, + bundle: BundleState::default(), + }; + }; + + let gas_used = executed_block.recovered_block.gas_used(); + let bundle = executed_block.execution_output.state.clone(); + + let transactions: Vec<_> = executed_block + .recovered_block + .clone_transactions_recovered() + .enumerate() + .map(|(index, tx)| (index as BlockAccessIndex, tx)) + .collect(); + + let receipts: Vec<_> = executed_block + .execution_output + .result + .receipts + .iter() + .cloned() + .enumerate() + .map(|(index, r)| (index as BlockAccessIndex, r)) + .collect(); + + Self { + transactions, + receipts, + gas_used, + fees, + bundle, + } + } +} + impl TryFrom> for CommittedState where R: OpReceiptBuilder + Default, @@ -393,42 +453,10 @@ where let executed_block = value .executed_block() .ok_or(BalExecutorError::MissingExecutedBlock)?; - - let gas_used = executed_block.recovered_block.gas_used(); - - let bundle = value - .executed_block() - .ok_or(BalExecutorError::MissingExecutedBlock)? - .execution_output - .state - .clone(); - - let fees = value.fees(); - - let transactions: Vec<_> = executed_block - .recovered_block - .clone_transactions_recovered() - .enumerate() - .map(|(index, tx)| (index as BlockAccessIndex, tx)) - .collect(); - - let receipts: Vec<_> = executed_block - .execution_output - .result - .receipts - .iter() - .cloned() - .enumerate() - .map(|(index, r)| (index as BlockAccessIndex, r)) - .collect(); - - Ok(Self { - transactions, - receipts, - gas_used, - fees, - bundle, - }) + Ok(Self::from_executed_block( + Some(&executed_block), + value.fees(), + )) } else { Ok(Self { transactions: vec![], diff --git a/crates/flashblocks/builder/src/coordinator.rs b/crates/flashblocks/builder/src/coordinator.rs index 444568757..1cf25ef77 100644 --- a/crates/flashblocks/builder/src/coordinator.rs +++ b/crates/flashblocks/builder/src/coordinator.rs @@ -1,112 +1,79 @@ -use alloy_eips::{Decodable2718, eip2718::WithEncoded, eip4895::Withdrawals}; -use alloy_op_evm::OpBlockExecutionCtx; +use std::sync::Arc; + +use alloy_op_evm::{OpBlockExecutionCtx, OpBlockExecutor, OpEvmFactory}; use eyre::eyre::eyre; use flashblocks_p2p::protocol::{ event::{ChainEvent, WorldChainEvent, WorldChainEventsStream}, handler::FlashblocksHandle, }; -use flashblocks_primitives::{p2p::AuthorizedPayload, primitives::FlashblocksPayloadV1}; +use flashblocks_primitives::{ + flashblocks::{Flashblock, Flashblocks}, + p2p::AuthorizedPayload, + primitives::{ExecutionPayloadBaseV1, FlashblocksPayloadV1}, +}; use futures::StreamExt; -use op_alloy_consensus::{OpTxEnvelope, encode_holocene_extra_data}; use parking_lot::RwLock; -use reth::{ - payload::EthPayloadBuilderAttributes, - revm::{cancelled::CancelOnDrop, database::StateProviderDatabase}, -}; -use reth_basic_payload_builder::PayloadConfig; +use reth::rpc::api::eth::helpers::pending_block; use reth_chain_state::ExecutedBlock; -use reth_evm::ConfigureEvm; +use reth_evm::{ConfigureEvm, EvmFactory, block::BlockExecutionError, execute::BlockBuilder}; use reth_node_api::{BuiltPayload as _, Events, FullNodeTypes, NodePrimitives, NodeTypes}; use reth_node_builder::BuilderContext; use reth_optimism_chainspec::OpChainSpec; use reth_optimism_evm::{OpNextBlockEnvAttributes, OpRethReceiptBuilder}; -use reth_optimism_node::{OpBuiltPayload, OpEngineTypes, OpEvmConfig, OpPayloadBuilderAttributes}; +use reth_optimism_forks::OpHardforks; +use reth_optimism_node::{OpBuiltPayload, OpEngineTypes, OpEvmConfig}; use reth_optimism_primitives::OpPrimitives; - -use reth_payload_util::BestPayloadTransactions; use reth_provider::{ - BlockNumReader, CanonStateSubscriptions, ChainSpecProvider, HeaderProvider, + BlockNumReader, CanonStateSubscriptions, ChainSpecProvider, HeaderProvider, StateProvider, StateProviderFactory, }; -use reth_transaction_pool::{EthPooledTransaction, noop::NoopTransactionPool}; -use std::sync::{Arc, LazyLock}; use tokio::{ - sync::{ - Semaphore, - broadcast::{self, Sender}, - }, + sync::broadcast::{self, Sender}, task::JoinSet, }; +use tokio_stream::wrappers::BroadcastStream; use tracing::{error, trace}; use crate::{ - bal_executor::CommittedState, - bal_validator::{FlashblocksBlockValidator, decode_transactions_with_indices}, - payload_builder::build, - traits::{context::OpPayloadBuilderCtxBuilder, context_builder::PayloadBuilderCtxBuilder}, + FlashblockBlockValidator, + executor::FlashblocksBlockBuilder, + processor::{FlashblockProcessor, PendingBlockNotification}, }; -use flashblocks_primitives::flashblocks::{Flashblock, Flashblocks}; -/// Task-level permit to ensure only one flashblock is processed at a time. -static SEMAPHORE_TASK_PERMIT: LazyLock> = - LazyLock::new(|| Arc::new(Semaphore::const_new(1))); +use crate::processor::PendingPayloadProcessor; + +const BROADCAST_CAPACITY: usize = 12; -/// The current state of all known pre confirmations received over the P2P layer -/// or generated from the payload building job of this node. +/// Orchestrates flashblock execution: receives flashblocks from the P2P event +/// stream, spawns per-epoch [`PendingPayloadProcessor`]s, and routes results +/// through the [`FlashblockProcessor`] notification channel. /// -/// The state is flushed when FCU is received with a parent hash that matches the block hash -/// of the latest pre confirmation _or_ when an FCU is received that does not match the latest pre confirmation, -/// in which case the pre confirmations were not included as part of the canonical chain. +/// Read-only accessors (`last`, `flashblocks`, `pending_block`) are delegated +/// to the shared [`FlashblockProcessor`]. #[derive(Debug, Clone)] pub struct FlashblocksExecutionCoordinator { - inner: Arc>, p2p_handle: FlashblocksHandle, - pending_block: tokio::sync::watch::Sender>>, -} -#[derive(Debug, Clone)] -pub struct FlashblocksExecutionCoordinatorInner { - /// List of flashblocks for the current payload - flashblocks: Flashblocks, - /// The latest built payload with its associated flashblock index - latest_payload: Option<(OpBuiltPayload, u64)>, - /// Broadcast channel for built payload events - payload_events: Option>>, + notifications_sender: broadcast::Sender, } impl FlashblocksExecutionCoordinator { - /// Creates a new instance of [`FlashblocksStateExecutor`]. - /// - /// This function spawn a task that handles updates. It should only be called once. - pub fn new( - p2p_handle: FlashblocksHandle, - pending_block: tokio::sync::watch::Sender>>, - ) -> Self { - let inner = Arc::new(RwLock::new(FlashblocksExecutionCoordinatorInner { - flashblocks: Default::default(), - latest_payload: None, - payload_events: None, - })); - + pub fn new(p2p_handle: FlashblocksHandle) -> Self { + let (notifications_sender, _) = broadcast::channel(BROADCAST_CAPACITY); Self { - inner, p2p_handle, - pending_block, + notifications_sender, } } - /// Maps a closure over the [`WorldChainEventStream`] from the P2P handle. - pub fn map_worldchain_event_stream( - &self, - provider: P, - mut f: F, - ) -> WorldChainEventsStream + pub fn event_stream(&self, provider: P, mut f: F) -> WorldChainEventsStream where P: CanonStateSubscriptions + HeaderProvider + BlockNumReader + Clone + Send + + StateProvider + Sync + 'static, F: FnMut(&WorldChainEvent) -> Option> + Send + 'static, @@ -117,144 +84,114 @@ impl FlashblocksExecutionCoordinator { .event_stream(provider, move |event| f(event)) } - pub fn event_hook( - event: &WorldChainEvent<()>, - pending_block: &tokio::sync::watch::Sender>>, - ) -> Option> { - if let WorldChainEvent::Chain(ChainEvent::Canon(tip)) = event { - pending_block.send_if_modified(|block| { - let should_clear = block.as_ref().is_some_and(|b| { - let pending = b.recovered_block(); - pending.hash() == tip.hash || pending.number <= tip.number - }); - if should_clear { - *block = None; - } - should_clear - }); - } - None - } - - /// Launches the executor to listen for new flashblocks and build payloads. - /// - /// Uses a canon-aware event stream that gates flashblock delivery on canonical - /// tip matching, preventing stale flashblocks from being processed. - pub fn launch(self, ctx: &BuilderContext, evm_config: OpEvmConfig) - where + pub fn launch( + self, + ctx: &BuilderContext, + evm_config: OpEvmConfig, + payload_events_tx: broadcast::Sender>, + pending_block_tx: tokio::sync::watch::Sender>>, + ) where Node: FullNodeTypes, Node::Provider: StateProviderFactory + HeaderProvider
- + CanonStateSubscriptions, + + CanonStateSubscriptions + + StateProvider + + Clone + + 'static, Node::Types: NodeTypes, { let provider = ctx.provider().clone(); - let pending_block = self.pending_block.clone(); - let pending_block_clone = pending_block.clone(); + let processor = FlashblockProcessor::new( + pending_block_tx.clone(), + self.notifications_sender.clone(), + payload_events_tx, + ); - let stream = self.map_worldchain_event_stream(provider.clone(), move |event| { - Self::event_hook(event, &pending_block) + ctx.task_executor() + .spawn_critical_task("flashblocks processor", async move { + processor.spawn_nofification_handler().await; + }); + + let stream = self.event_stream(provider.clone(), move |event: &WorldChainEvent<()>| { + if let WorldChainEvent::Chain(ChainEvent::Canon(tip)) = event { + pending_block_tx.clone().send_if_modified(|block| { + let should_clear = block.as_ref().is_some_and(|b| { + let pending = b.recovered_block(); + pending.hash() == tip.hash || pending.number <= tip.number + }); + if should_clear { + *block = None; + } + should_clear + }); + } + None }); let chain_spec = ctx.chain_spec().clone(); - let this = Arc::new(self); ctx.task_executor() .spawn_critical_task("flashblocks executor", async move { - run_flashblock_processor( - this, - stream, - provider, - evm_config, - chain_spec, - pending_block_clone, - ) - .await; + run_flashblock_processor(this, stream, provider, evm_config, chain_spec).await; }); } + /// Publishes a locally-built payload. Handles P2P broadcast directly, + /// then notifies the [`FlashblockProcessor`] for state updates. pub fn publish_built_payload( &self, authorized_payload: AuthorizedPayload, built_payload: OpBuiltPayload, ) -> eyre::Result<()> { - let flashblock = authorized_payload.msg().clone(); - - let index = flashblock.index; - let flashblock = Flashblock { flashblock }; - - let mut lock = self.inner.write(); - lock.flashblocks.push(flashblock.clone())?; - lock.latest_payload = Some((built_payload, index)); - drop(lock); - self.p2p_handle.publish_new(authorized_payload.clone())?; - Ok(()) - } - - /// Returns a reference to the latest flashblock. - pub fn last(&self) -> Flashblock { - self.inner.read().flashblocks.last().clone() - } - - /// Returns a reference to the latest flashblock. - pub fn flashblocks(&self) -> Flashblocks { - self.inner.read().flashblocks.clone() - } - - /// Returns a receiver for the pending block. - pub fn pending_block( - &self, - ) -> tokio::sync::watch::Receiver>> { - self.pending_block.subscribe() - } + let block = built_payload + .executed_block() + .map(|b| b.into_executed_payload()) + .ok_or_else(|| eyre!("built payload missing executed block"))?; - /// Registers a new broadcast channel for built payloads. - pub fn register_payload_events(&self, tx: broadcast::Sender>) { - self.inner.write().payload_events = Some(tx); - } + self.notifications_sender + .send(PendingBlockNotification::Internal { + block, + authorized: authorized_payload, + })?; - /// Broadcasts a new payload to cache in the in memory tree. - pub fn broadcast_payload( - &self, - event: Events, - payload_events: Option>>, - ) -> eyre::Result<()> { - if let Some(payload_events) = payload_events - && let Err(e) = payload_events.send(event) - { - error!("error broadcasting payload: {e:#?}"); - } Ok(()) } } -/// Core flashblock processing loop extracted from [`FlashblocksExecutionCoordinator::launch`]. +// --------------------------------------------------------------------------- +// Event loop +// --------------------------------------------------------------------------- + +/// Core flashblock processing loop. /// -/// Consumes flashblocks from `stream` and processes each one through -/// [`process_flashblock`]. This is the same loop that `launch` spawns as a -/// critical task. The function only returns after any in-flight flashblock -/// processing jobs have completed, which lets benchmarks and tests measure the -/// full processing cost of a bounded stream directly without needing a full -/// [`BuilderContext`]. +/// Consumes flashblocks from the event `stream` and routes them to per-epoch +/// [`PendingPayloadProcessor`] instances via a broadcast channel. A new processor +/// is spawned (on a blocking thread) whenever a new payload_id is detected. +/// Dropping the broadcast sender cancels the previous processor. pub async fn run_flashblock_processor( coordinator: Arc, stream: S, provider: Provider, evm_config: OpEvmConfig, chain_spec: Arc, - pending_block: tokio::sync::watch::Sender>>, ) where S: futures::Stream> + Unpin, Provider: StateProviderFactory + HeaderProvider
+ ChainSpecProvider + + StateProvider + Clone + 'static, { futures::pin_mut!(stream); + + let mut current: Option<( + alloy_rpc_types_engine::PayloadId, + broadcast::Sender, + )> = None; let mut in_flight = JoinSet::new(); let mut stream_closed = false; @@ -263,7 +200,8 @@ pub async fn run_flashblock_processor( maybe_event = stream.next(), if !stream_closed => { match maybe_event { Some(WorldChainEvent::Chain(ChainEvent::Pending(flashblock))) => { - let flashblock = Arc::try_unwrap(flashblock).unwrap_or_else(|arc| (*arc).clone()); + let flashblock = Arc::try_unwrap(flashblock) + .unwrap_or_else(|arc| (*arc).clone()); trace!( target: "flashblocks::coordinator", @@ -273,35 +211,60 @@ pub async fn run_flashblock_processor( "received pending flashblock" ); - let permit = SEMAPHORE_TASK_PERMIT - .clone() - .acquire_owned() - .await - .expect("semaphore is never closed"); + let is_new_epoch = current + .as_ref() + .map(|(id, _)| *id != flashblock.payload_id) + .unwrap_or(true); - let provider = provider.clone(); - let evm_config = evm_config.clone(); - let coordinator = coordinator.clone(); - let chain_spec = chain_spec.clone(); - let pending_block = pending_block.clone(); + if is_new_epoch { + let base = match flashblock.base.clone() { + Some(base) => base, + None => { + error!("first flashblock of epoch must contain base payload"); + continue; + } + }; - in_flight.spawn_blocking(move || { - let _permit = permit; + let payload_id = flashblock.payload_id; - if let Err(e) = process_flashblock( - provider, - &evm_config, - &coordinator, - chain_spec, + // Drop old sender → old processor's stream ends. + current = None; + + match spawn_processor( flashblock, - pending_block, + &provider, + &evm_config, + &chain_spec, + coordinator.notifications_sender.clone(), + &mut in_flight, ) { - error!("error processing flashblock: {e:#?}"); + Ok(tx) => { + current = Some((payload_id, tx)); + } + Err(e) => { + error!("error spawning epoch processor: {e:#?}"); + } + } + } else if let Some((_, ref tx)) = current { + if let Err(e) = tx.send(flashblock) { + error!("error sending flashblock to processor: {e:#?}"); } - }); + } + } + Some(WorldChainEvent::Chain(ChainEvent::Canon(tip))) => { + if current.is_some() { + current = None; + trace!( + target: "flashblocks::coordinator", + tip_hash = %tip.hash, + tip_number = tip.number, + "canon tip invalidated current epoch, cancelled processor" + ); + } } Some(_) => {} None => { + current = None; stream_closed = true; } } @@ -320,69 +283,32 @@ pub async fn run_flashblock_processor( } } -pub fn process_flashblock( - provider: Provider, +// --------------------------------------------------------------------------- +// Processor spawning +// --------------------------------------------------------------------------- + +/// Derives epoch-scoped context from a base payload and spawns a +/// [`PendingPayloadProcessor`] on a blocking thread. +/// +/// The processor is given a factory closure that produces a fresh +/// [`FlashblockBlockValidator`] + [`StateProvider`] per flashblock. +fn spawn_processor( + flashblock_base: FlashblocksPayloadV1, + provider: &Provider, evm_config: &OpEvmConfig, - coordinator: &FlashblocksExecutionCoordinator, - chain_spec: Arc, - flashblock: FlashblocksPayloadV1, - pending_block: tokio::sync::watch::Sender>>, -) -> eyre::Result<()> + chain_spec: &Arc, + notifications_sender: broadcast::Sender, + in_flight: &mut JoinSet<()>, +) -> eyre::Result> where Provider: StateProviderFactory + HeaderProvider
+ ChainSpecProvider + + StateProvider + Clone + 'static, { - let flashblock = Flashblock { flashblock }; - - // --- Short read: check if already processed, extract base info --- - let (base, is_new_epoch) = { - let inner = coordinator.inner.read(); - - if let Some(latest_payload) = &inner.latest_payload - && latest_payload.0.id() == flashblock.flashblock.payload_id - && latest_payload.1 >= flashblock.flashblock.index - { - pending_block.send_replace( - latest_payload - .0 - .executed_block() - .map(|p| p.into_executed_payload()), - ); - return Ok(()); - } - - let is_new = inner.flashblocks.is_new_payload(&flashblock)?; - let base = if is_new { - flashblock.base().unwrap().clone() - } else { - inner.flashblocks.base().clone() - }; - - (base, is_new) - }; - - // Clear latest_payload on new epoch (brief write lock) - if is_new_epoch { - coordinator.inner.write().latest_payload = None; - } - - let latest_payload = { - let inner = coordinator.inner.read(); - inner.latest_payload.as_ref().map(|(p, _)| p.clone()) - }; - - // Accumulate committed state from latest payload (brief read lock) - let committed_state = CommittedState::::try_from(latest_payload.as_ref()) - .map_err(|e| eyre!("Failed to construct committed state {:#?}", e))?; - - let diff = flashblock.diff().clone(); - let index = flashblock.flashblock.index; - - // This should never fail — the canon-aware event stream guarantees the - // parent header is available by the time we process a flashblock. + let base = flashblock_base.clone().base.unwrap(); let sealed_header = provider .sealed_header_by_hash(base.parent_hash) .inspect_err(|e| error!("failed to fetch sealed header {}: {e:#?}", base.parent_hash))? @@ -394,143 +320,43 @@ where extra_data: base.extra_data.clone(), }; - let next_block_context = OpNextBlockEnvAttributes { - timestamp: base.timestamp, - suggested_fee_recipient: base.fee_recipient, - prev_randao: base.prev_randao, - gas_limit: base.gas_limit, - parent_beacon_block_root: Some(base.parent_beacon_block_root), - extra_data: base.extra_data.clone(), - }; - - let evm_env = evm_config.next_evm_env(sealed_header.header(), &next_block_context)?; - let transactions_offset = committed_state.transactions.len() + 1; - let has_bal = flashblock.diff().access_list_data.is_some(); - - let validate_span = crate::metrics::MetricsSpan::new( - tracing::trace_span!( - target: "flashblocks::coordinator", - "validate", - id = %flashblock.flashblock().payload_id, - index, - path = if has_bal { "bal" } else { "legacy" }, - tx_count = flashblock.diff().transactions.len(), - duration_ms = tracing::field::Empty, - ), - metrics::histogram!("flashblocks.validate", "access_list" => has_bal.to_string()), - ); - - let payload = if has_bal { - let sealed_header = Arc::new(sealed_header); - - let executor_transactions = decode_transactions_with_indices( - &flashblock.diff().transactions, - transactions_offset as u16, - )?; - - let block_validator = FlashblocksBlockValidator { - chain_spec: chain_spec.clone(), - evm_config: evm_config.clone(), - execution_context: execution_context.clone(), - executor_transactions: executor_transactions.clone(), - committed_state, - evm_env: evm_env.clone(), - }; - - block_validator.validate( - provider, - diff.clone(), - &sealed_header, - *flashblock.payload_id(), - )? - } else { - // TODO: Lots of dup code we can remove here. WIP - let transactions = diff - .transactions - .iter() - .map(|b| { - let tx: OpTxEnvelope = Decodable2718::decode_2718_exact(b)?; - eyre::Result::Ok(WithEncoded::new(b.clone(), tx)) - }) - .collect::>>()?; - - let eth_attrs = EthPayloadBuilderAttributes { - id: flashblock.payload_id().to_owned(), - parent: base.parent_hash, + let evm_env = evm_config.next_evm_env( + sealed_header.header(), + &OpNextBlockEnvAttributes { timestamp: base.timestamp, suggested_fee_recipient: base.fee_recipient, prev_randao: base.prev_randao, - withdrawals: Withdrawals(diff.withdrawals.clone()), + gas_limit: base.gas_limit, parent_beacon_block_root: Some(base.parent_beacon_block_root), - }; - - let eip1559 = encode_holocene_extra_data( - Default::default(), - chain_spec.base_fee_params_at_timestamp(base.timestamp), - )?; - - let attributes = OpPayloadBuilderAttributes { - payload_attributes: eth_attrs, - no_tx_pool: true, - transactions: transactions.clone(), - gas_limit: None, - eip_1559_params: Some(eip1559[1..=8].try_into()?), - min_base_fee: None, - }; - - let state_provider = provider.state_by_block_hash(sealed_header.hash())?; - let config = PayloadConfig::new(Arc::new(sealed_header), attributes); - let cancel = CancelOnDrop::default(); - - let builder_ctx = OpPayloadBuilderCtxBuilder.build( - provider.clone(), - evm_config.clone(), - Default::default(), - config, - &cancel, - latest_payload.clone(), + extra_data: base.extra_data.clone(), + }, + )?; + + let provider = provider.clone(); + let chain_spec: Arc = chain_spec.clone(); + + let validate = move |flashblock: &FlashblocksPayloadV1, + pending_block: Option<&ExecutedBlock>| { + let validator = FlashblockBlockValidator::new( + chain_spec.clone(), + execution_context.clone(), + sealed_header.clone(), + evm_env.clone(), ); - let best = |_| BestPayloadTransactions::new(vec![].into_iter()); - let db = StateProviderDatabase::new(state_provider); - - let outcome = build( - provider, - best, - Option::>::None, - db, - &builder_ctx, - latest_payload.as_ref(), - false, - )?; - - match outcome.0 { - reth_basic_payload_builder::BuildOutcomeKind::Better { payload } => payload, - reth_basic_payload_builder::BuildOutcomeKind::Freeze(payload) => payload, - _ => return Err(eyre::eyre::eyre!("unexpected build outcome")), - } + validator.validate_payload_with_state( + provider.clone(), + &flashblock.diff.transactions, + pending_block.cloned(), + ) }; + let processor = PendingPayloadProcessor::new(validate, flashblock_base); - drop(validate_span); - - { - let mut inner = coordinator.inner.write(); - inner.latest_payload = Some((payload.clone(), index)); - inner.flashblocks.push(flashblock)?; - } - - pending_block.send_replace(payload.executed_block().map(|p| p.into_executed_payload())); - - trace!( - target: "flashblocks::state_executor", - id = %payload.id(), - index = %index, - block_hash = %payload.block().hash(), - "built payload from flashblock" - ); + let (broadcast_tx, rx) = broadcast::channel(BROADCAST_CAPACITY); - let payload_events = coordinator.inner.read().payload_events.clone(); - coordinator.broadcast_payload(Events::BuiltPayload(payload), payload_events)?; + in_flight.spawn_blocking(move || { + processor.run(rx, notifications_sender.clone()); + }); - Ok(()) + Ok(broadcast_tx) } diff --git a/crates/flashblocks/builder/src/executor.rs b/crates/flashblocks/builder/src/executor.rs index 8fd9b605a..10a7eda6b 100644 --- a/crates/flashblocks/builder/src/executor.rs +++ b/crates/flashblocks/builder/src/executor.rs @@ -4,6 +4,7 @@ use alloy_op_evm::{ block::{OpTxEnv, receipt_builder::OpReceiptBuilder}, }; +use reth_chain_state::ExecutedBlock; use reth_evm::{ Database, Evm, FromRecoveredTx, FromTxWithEncoded, block::{BlockExecutionError, BlockExecutor, CommitChanges, StateDB}, @@ -14,6 +15,7 @@ use reth_evm::{ }; use reth_optimism_chainspec::OpChainSpec; use reth_optimism_evm::OpRethReceiptBuilder; +use reth_optimism_forks::OpHardforks; use reth_optimism_node::OpBlockAssembler; use reth_optimism_primitives::{OpReceipt, OpTransactionSigned}; use reth_primitives::{NodePrimitives, Recovered, RecoveredBlock, SealedHeader}; @@ -197,4 +199,12 @@ where db.take_bundle(), )) } + + fn set_committed_state(&mut self, _state: &ExecutedBlock) { + todo!("FlashblocksBlockBuilder::set_committed_state") + } + + fn chain_spec(&self) -> impl OpHardforks { + self.inner.executor.spec.clone() + } } diff --git a/crates/flashblocks/builder/src/lib.rs b/crates/flashblocks/builder/src/lib.rs index 3f544b906..4a76f781c 100644 --- a/crates/flashblocks/builder/src/lib.rs +++ b/crates/flashblocks/builder/src/lib.rs @@ -138,17 +138,46 @@ //! [`BalBlockBuilder`]: executor::BalBlockBuilder //! [`TemporalDb`]: database::temporal_db::TemporalDb +use std::sync::Arc; + +use alloy_consensus::{Block, transaction::SignerRecoverable}; +use alloy_eips::{Decodable2718, eip2718::WithEncoded}; +use alloy_op_evm::{OpBlockExecutionCtx, OpBlockExecutor, OpEvmFactory}; +use alloy_rpc_types_engine::ExecutionData; +use flashblocks_primitives::{ + ed25519_dalek::ed25519::signature::rand_core::le, primitives::FlashblocksPayloadV1, +}; +use op_alloy_rpc_types_engine::OpExecutionData; +use reth::{ + core::primitives::SealedBlock, network::test_utils::transactions, + revm::database::StateProviderDatabase, +}; +use reth_chain_state::{ComputedTrieData, ExecutedBlock}; use reth_evm::{ - block::BlockExecutionError, - execute::{BlockBuilder, BlockBuilderOutcome}, + Evm, EvmEnv, EvmFactory, + block::{BlockExecutionError, BlockExecutor, CommitChanges, ExecutableTx, StateDB}, + execute::{BlockBuilder, BlockBuilderOutcome, ExecutorTx}, + op_revm::OpSpecId, }; -use reth_optimism_payload_builder::config::OpBuilderConfig; -use reth_provider::StateProvider; +use reth_node_api::{NodePrimitives, PayloadTypes}; +use reth_optimism_chainspec::OpChainSpec; +use reth_optimism_evm::{OpEvmConfig, OpRethReceiptBuilder}; +use reth_optimism_forks::OpHardforks; +use reth_optimism_node::OpPayloadPrimitives; +use reth_optimism_payload_builder::{OpExecutionPayloadValidator, config::OpBuilderConfig}; +use reth_optimism_primitives::{OpPrimitives, OpTransactionSigned}; +use reth_primitives::{Recovered, SealedHeader}; +use reth_provider::{BlockExecutionOutput, StateProvider}; +use revm::handler::execution; use revm_database::BundleState; +use crate::{bal_validator::decode_transactions_with_indices, executor::FlashblocksBlockBuilder}; + /// Utilities for constructing and serializing Block Access Lists (BAL). pub mod access_list; +pub mod processor; + /// Underlying block executor and builder with BAL construction. pub mod bal_executor; @@ -223,4 +252,108 @@ pub trait BlockBuilderExt: BlockBuilder { self, state_provider: impl StateProvider, ) -> Result<(BlockBuilderOutcome, BundleState), BlockExecutionError>; + + fn set_committed_state(&mut self, state: &ExecutedBlock); + + fn chain_spec(&self) -> impl OpHardforks; +} + +pub struct FlashblockBlockValidator { + chain_spec: Arc, + execution_context: OpBlockExecutionCtx, + sealed_header: SealedHeader, + evm_env: EvmEnv, +} + +impl FlashblockBlockValidator { + pub fn new( + chain_spec: Arc, + execution_context: OpBlockExecutionCtx, + sealed_header: SealedHeader, + evm_env: EvmEnv, + ) -> Self { + Self { + chain_spec, + execution_context, + sealed_header, + evm_env, + } + } + + pub fn builder( + &self, + provider: impl StateProvider + Clone + 'static, + state: ExecutedBlock, + ) -> impl BlockBuilderExt { + let receipts = state.execution_output.receipts.clone(); + + let transactions = state.recovered_block().clone_transactions_recovered(); + + let database = StateProviderDatabase::new(provider.clone()); + let db = revm::database::State::builder() + .with_database(database) + .with_bundle_update() + .with_bundle_prestate(state.execution_outcome().state.clone()) + .build(); + + let evm = OpEvmFactory::default().create_evm(db, self.evm_env.clone()); + + let mut executor = OpBlockExecutor::new( + evm, + self.execution_context.clone(), + (*self.chain_spec).clone(), + OpRethReceiptBuilder::default(), + ); + executor.receipts = receipts; + executor.gas_used = state.execution_outcome().gas_used; + + FlashblocksBlockBuilder::::new( + self.execution_context.clone(), + &self.sealed_header, + executor, + transactions.collect(), + self.chain_spec.clone(), + ) + } + + pub fn validate_payload_with_state( + self, + state_provider: impl StateProvider + Clone + 'static, + transactions: &[alloy_primitives::Bytes], + pending: Option>, + ) -> Result, BlockExecutionError> { + let mut builder = self.builder( + state_provider.clone(), + pending.clone().unwrap_or_default().clone(), + ); + + decode_transactions_with_indices( + transactions, + pending + .as_ref() + .map_or(0_usize, |b| b.recovered_block().transaction_count()) as u16, + ) + .map_err(BlockExecutionError::other)? + .into_iter() + .map(|(_, tx)| builder.execute_transaction(tx)); + + let (outcome, bundle) = builder.finish_with_bundle(state_provider)?; + + let computed_trie_data = ComputedTrieData::without_trie_input( + outcome.hashed_state.into_sorted().into(), + outcome.trie_updates.into_sorted().into(), + ); + + let executed = ExecutedBlock::new( + outcome.block.into(), + BlockExecutionOutput { + result: outcome.execution_result, + state: bundle, + } + .into(), + computed_trie_data, + ); + + Ok(executed) + } } diff --git a/crates/flashblocks/builder/src/processor.rs b/crates/flashblocks/builder/src/processor.rs new file mode 100644 index 000000000..482676385 --- /dev/null +++ b/crates/flashblocks/builder/src/processor.rs @@ -0,0 +1,260 @@ +use alloy_primitives::U256; +use alloy_rpc_types_engine::{PayloadId, payload}; +use flashblocks_p2p::protocol::handler::FlashblocksHandle; +use flashblocks_primitives::{ + p2p::{Authorized, AuthorizedPayload}, + primitives::FlashblocksPayloadV1, +}; +use futures::{StreamExt, future, stream}; +use metrics::Histogram; +use reth::rpc::api::eth::helpers::pending_block; +use reth_chain_state::ExecutedBlock; +use reth_evm::block::BlockExecutionError; +use reth_node_api::{BuiltPayloadExecutedBlock, Events}; +use reth_optimism_node::{OpBuiltPayload, OpEngineTypes}; +use reth_optimism_primitives::OpPrimitives; +use reth_trie_common::HashedPostStateSorted; +use std::sync::{Arc, LazyLock}; +use tokio::sync::{ + broadcast::{self, Sender}, + mpsc::UnboundedSender, +}; +use tokio_stream::wrappers::BroadcastStream; +use tracing::{error, trace}; + +const TARGET: &str = "flashblocks::processor"; + +static VALIDATE_BAL_HISTOGRAM: LazyLock = + LazyLock::new(|| metrics::histogram!("flashblocks.validate", "access_list" => "true")); + +static VALIDATE_LEGACY_HISTOGRAM: LazyLock = + LazyLock::new(|| metrics::histogram!("flashblocks.validate", "access_list" => "false")); + +// --------------------------------------------------------------------------- +// PendingBlockNotification +// --------------------------------------------------------------------------- + +/// A notification of a validated pending block. +#[derive(Debug, Clone)] +pub enum PendingBlockNotification { + /// Validated from the P2P network by a [`PendingPayloadProcessor`]. + External { + block: ExecutedBlock, + flashblock: FlashblocksPayloadV1, + }, + /// Built locally by this node's payload builder. + Internal { + block: ExecutedBlock, + authorized: AuthorizedPayload, + }, +} + +impl PendingBlockNotification { + pub fn block(&self) -> &ExecutedBlock { + match self { + PendingBlockNotification::External { block, .. } => block, + PendingBlockNotification::Internal { block, .. } => block, + } + } + + pub fn flashblock(&self) -> &FlashblocksPayloadV1 { + match self { + PendingBlockNotification::External { flashblock, .. } => flashblock, + PendingBlockNotification::Internal { block, authorized } => authorized.msg(), + } + } +} + +// --------------------------------------------------------------------------- +// FlashblockProcessor +// --------------------------------------------------------------------------- + +/// Single subscriber for all pending block state mutations. +/// +/// Owns `flashblocks`, `pending_block`, and `payload_events`. +/// Driven by [`PendingBlockNotification`]s from both the P2P validation path +/// and the local builder path. +pub struct FlashblockProcessor { + current_flashblock: Option, + pending_block: tokio::sync::watch::Sender>>, + payload_events: broadcast::Sender>, + notification_rx: Option>, +} + +impl std::fmt::Debug for FlashblockProcessor { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("FlashblockProcessor") + .finish_non_exhaustive() + } +} + +impl FlashblockProcessor { + pub fn new( + pending_block: tokio::sync::watch::Sender>>, + notifications: broadcast::Sender, + payload_events: broadcast::Sender>, + ) -> Self { + Self { + current_flashblock: None, + pending_block, + notification_rx: Some(notifications.subscribe()), + payload_events, + } + } + + /// Drives the notification listener until all senders are dropped. + pub async fn spawn_nofification_handler(mut self) { + let rx = self.notification_rx.take().expect("run() called twice"); + let mut stream = BroadcastStream::new(rx).filter_map(|r| futures::future::ready(r.ok())); + + while let Some(notification) = stream.next().await { + // Common: update pending block + self.pending_block + .send_replace(Some(notification.block().clone())); + + let flashblock = notification.flashblock(); + let payload = notification.block(); + + match notification { + PendingBlockNotification::External { .. } => { + self.broadcast_payload(payload.clone(), flashblock.clone()); + self.broadcast_pending_block(payload.clone()); + } + PendingBlockNotification::Internal { .. } => { + self.broadcast_pending_block(payload.clone()); + } + } + } + } + + fn broadcast_payload( + &self, + payload: ExecutedBlock, + flashblock: FlashblocksPayloadV1, + ) { + self.payload_events + .send(Events::BuiltPayload(OpBuiltPayload::new( + flashblock.payload_id, + Arc::new(payload.sealed_block().clone()), + U256::ZERO, + Some(BuiltPayloadExecutedBlock { + recovered_block: payload.recovered_block.clone(), + execution_output: payload.execution_output.clone(), + hashed_state: either::Either::Right(payload.hashed_state()), + trie_updates: either::Either::Right(payload.trie_updates()), + }), + ))); + } + + fn broadcast_pending_block(&self, block: ExecutedBlock) { + self.pending_block.send_replace(Some(block)); + } +} + +/// Processes flashblocks for a single epoch (payload_id). +pub struct PendingPayloadProcessor { + validate: F, + pending: Vec, +} + +impl PendingPayloadProcessor +where + F: FnMut( + &FlashblocksPayloadV1, + Option<&ExecutedBlock>, + ) -> Result, BlockExecutionError> + + Send + + 'static, +{ + pub fn new(validate: F, base: FlashblocksPayloadV1) -> Self { + Self { + validate, + pending: vec![base], + } + } + + /// Consumes flashblocks until the stream ends or the payload_id changes. + /// + /// Calls `on_validated` with each successfully validated [`ExecutedBlock`]. + pub fn run( + mut self, + rx: broadcast::Receiver, + notifications_sender: broadcast::Sender, + ) { + let handle = tokio::runtime::Handle::current(); + let mut pending_executed_block = None::>; + let payload_id = self.pending.first().unwrap().payload_id; + + handle.block_on(async { + let mut last_index = None::; + + let base = stream::iter(self.pending); + let st = BroadcastStream::new(rx) + .filter_map(|r| future::ready(r.ok())) + .take_while(move |fb| future::ready(fb.payload_id == payload_id)); + + let stream = base.chain(st).filter(move |fb| { + let accept = !last_index.is_some_and(|l| fb.index <= l); + if accept { + last_index = Some(fb.index); + } + future::ready(accept) + }); + + futures::pin_mut!(stream); + + while let Some(fb) = stream.next().await { + let index = fb.index; + let has_bal = fb.diff.access_list_data.is_some(); + let tx_count = fb.diff.transactions.len(); + + let histogram = if has_bal { + VALIDATE_BAL_HISTOGRAM.clone() + } else { + VALIDATE_LEGACY_HISTOGRAM.clone() + }; + + let path = if has_bal { "bal" } else { "legacy" }; + + crate::metrics::metered_fn( + tracing::trace_span!( + target: "flashblocks::processor", + "validate", + id = %payload_id, + index, + path, + tx_count, + duration_ms = tracing::field::Empty, + ), + histogram, + |_span| (self.validate)(&fb, pending_executed_block.as_ref()), + ) + .map(|executed_block| { + notifications_sender + .send(PendingBlockNotification::External { + block: executed_block.clone(), + flashblock: fb.clone(), + }) + .ok(); + + pending_executed_block = Some(executed_block); + + trace!( + target: "flashblocks::processor", + id = %payload_id, index, path, + tx_count, + "validated flashblock" + ); + }) + .map_err(|e| { + error!( + target: "flashblocks::processor", + id = %payload_id, index, path, + error = ?e, "failed to validate flashblock" + ); + }) + .ok(); + } + }); + } +} diff --git a/crates/flashblocks/builder/src/test_utils.rs b/crates/flashblocks/builder/src/test_utils.rs index deb42ce91..3f38e4e22 100644 --- a/crates/flashblocks/builder/src/test_utils.rs +++ b/crates/flashblocks/builder/src/test_utils.rs @@ -1061,7 +1061,7 @@ impl StateProviderFactory for TestStateProvider { // ============================================================================ /// Provider wrapper that adds [`HeaderProvider`] and [`ChainSpecProvider`] -/// implementations needed by [`process_flashblock`](crate::coordinator::process_flashblock). +/// implementations needed by [`run_flashblock_processor`](crate::coordinator::run_flashblock_processor). #[derive(Debug, Clone)] pub struct BenchProvider { pub inner: TestStateProvider, @@ -1398,7 +1398,7 @@ pub fn build_flashblock_fixture_fib(num_txs: usize, bal: bool) -> FlashblocksPay /// Builds a [`FlashblocksPayloadV1`] fixture with the given number of transactions. /// -/// Returns the payload ready to be passed to `process_flashblock`. +/// Returns the payload ready to be passed to `run_flashblock_processor`. /// The base references `CHAIN_SPEC.genesis_hash()` as `parent_hash` so /// `BenchProvider` can serve the sealed header from `sealed_header_by_hash`. pub fn build_flashblock_fixture( diff --git a/crates/world/node/src/context.rs b/crates/world/node/src/context.rs index 9a78c9651..4f43f1134 100644 --- a/crates/world/node/src/context.rs +++ b/crates/world/node/src/context.rs @@ -368,6 +368,7 @@ where pub struct FlashblocksComponentsContext { pub flashblocks_handle: FlashblocksHandle, pub flashblocks_state: FlashblocksExecutionCoordinator, + pub flashblock_processor: std::sync::Arc, pub to_jobs_generator: tokio::sync::watch::Sender>, pub authorizer_vk: VerifyingKey, } @@ -414,13 +415,14 @@ impl From for FlashblocksComponentsContext { let (pending_block, _) = tokio::sync::watch::channel(None); - let flashblocks_state = + let (flashblocks_state, flashblock_processor) = FlashblocksExecutionCoordinator::new(flashblocks_handle.clone(), pending_block); let (to_jobs_generator, _) = tokio::sync::watch::channel(None); Self { flashblocks_state, + flashblock_processor: std::sync::Arc::new(flashblock_processor), flashblocks_handle, to_jobs_generator, authorizer_vk, diff --git a/reth.log b/reth.log new file mode 100644 index 000000000..83e91851c --- /dev/null +++ b/reth.log @@ -0,0 +1,416 @@ +2026-03-24T07:10:15.870736249Z {"timestamp":"2026-03-24T07:10:15.870679Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x624b4aa91eda37eeb6335298004766e169c56756b40648f29d6838dc7e58af3f","peers":23,"txs":7,"gas_used":"1.92Mgas","gas_throughput":"12.05Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"158.925µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:16.063503036Z {"timestamp":"2026-03-24T07:10:16.063202Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036d8426265c0b4e","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:16.070476836Z {"timestamp":"2026-03-24T07:10:16.070417Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x624b4aa91eda37eeb6335298004766e169c56756b40648f29d6838dc7e58af3f","peers":23,"txs":7,"gas_used":"1.92Mgas","gas_throughput":"14.08Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"136.056µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:16.264015191Z {"timestamp":"2026-03-24T07:10:16.263944Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036d8426265c0b4e","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:16.270882805Z {"timestamp":"2026-03-24T07:10:16.270667Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x624b4aa91eda37eeb6335298004766e169c56756b40648f29d6838dc7e58af3f","peers":23,"txs":7,"gas_used":"1.92Mgas","gas_throughput":"55.32Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"34.629µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:16.465227927Z {"timestamp":"2026-03-24T07:10:16.465047Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036d8426265c0b4e","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:16.472355301Z {"timestamp":"2026-03-24T07:10:16.472303Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x624b4aa91eda37eeb6335298004766e169c56756b40648f29d6838dc7e58af3f","peers":23,"txs":7,"gas_used":"1.92Mgas","gas_throughput":"13.38Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"143.167µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:16.667158533Z {"timestamp":"2026-03-24T07:10:16.666990Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036d8426265c0b4e","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:16.674205846Z {"timestamp":"2026-03-24T07:10:16.674150Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x624b4aa91eda37eeb6335298004766e169c56756b40648f29d6838dc7e58af3f","peers":23,"txs":7,"gas_used":"1.92Mgas","gas_throughput":"10.95Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"174.928µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:16.868481909Z {"timestamp":"2026-03-24T07:10:16.868251Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036d8426265c0b4e","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:16.876289451Z {"timestamp":"2026-03-24T07:10:16.876234Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x624b4aa91eda37eeb6335298004766e169c56756b40648f29d6838dc7e58af3f","peers":23,"txs":7,"gas_used":"1.92Mgas","gas_throughput":"7.68Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"249.545µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.090629811Z {"timestamp":"2026-03-24T07:10:17.090537Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500289,"hash":"0x58653829bf07c9fb6814e6d46859cb025b750c84208e88b89a5161dc41ba0167"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.144937285Z {"timestamp":"2026-03-24T07:10:17.144872Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0xb42cb8f5e443f885e7c9d0e0d2ab86aed8d74be5c84dffeac3762cdc1c020142","elapsed":"7.648677ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:17.145076927Z {"timestamp":"2026-03-24T07:10:17.145006Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500289,"hash":"0x58653829bf07c9fb6814e6d46859cb025b750c84208e88b89a5161dc41ba0167","peers":23,"txs":38,"gas_used":"39.77Mgas","gas_throughput":"730.53Mgas/second","gas_limit":"280.00Mgas","full":"14.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"54.445744ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.170449928Z {"timestamp":"2026-03-24T07:10:17.170382Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500289,"hash":"0x58653829bf07c9fb6814e6d46859cb025b750c84208e88b89a5161dc41ba0167","elapsed":"99.193µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.269208836Z {"timestamp":"2026-03-24T07:10:17.269149Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500289,"hash":"0x58653829bf07c9fb6814e6d46859cb025b750c84208e88b89a5161dc41ba0167"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.309793034Z {"timestamp":"2026-03-24T07:10:17.309730Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:17.345821689Z {"timestamp":"2026-03-24T07:10:17.345764Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"36.64Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"40.864µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.712259994Z {"timestamp":"2026-03-24T07:10:17.712047Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:17.718306778Z {"timestamp":"2026-03-24T07:10:17.718238Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"277.43Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.397µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:17.913480760Z {"timestamp":"2026-03-24T07:10:17.913393Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:17.919542415Z {"timestamp":"2026-03-24T07:10:17.919359Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"33.30Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"44.963µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:18.114394403Z {"timestamp":"2026-03-24T07:10:18.114318Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:18.120711583Z {"timestamp":"2026-03-24T07:10:18.120653Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"13.11Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"114.214µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:18.315830221Z {"timestamp":"2026-03-24T07:10:18.315623Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:18.321576141Z {"timestamp":"2026-03-24T07:10:18.321512Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"39.56Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"37.85µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:18.517325249Z {"timestamp":"2026-03-24T07:10:18.517123Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:18.522926329Z {"timestamp":"2026-03-24T07:10:18.522865Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"36.75Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"40.743µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:18.719044100Z {"timestamp":"2026-03-24T07:10:18.718690Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03a436e902848f73","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:18.724270323Z {"timestamp":"2026-03-24T07:10:18.724192Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xbb2f84af621b58e4f218b7200c5d54ba5228fdaa5d7305ebaa53c09f55d7d4dd","peers":23,"txs":4,"gas_used":"1.50Mgas","gas_throughput":"41.56Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"36.032µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.011265096Z {"timestamp":"2026-03-24T07:10:19.011138Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500290,"hash":"0xa748a1d9e78c1491f4c659ae960efecb34974d2dd675032d1f498c69e3fc034c"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.030014795Z {"timestamp":"2026-03-24T07:10:19.029950Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0xf767597fadfe046de027bc1bd36f04b873deb3c501d0f383e80b27d7bbafad21","elapsed":"1.455688ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:19.030120822Z {"timestamp":"2026-03-24T07:10:19.030084Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500290,"hash":"0xa748a1d9e78c1491f4c659ae960efecb34974d2dd675032d1f498c69e3fc034c","peers":23,"txs":25,"gas_used":"9.40Mgas","gas_throughput":"492.59Mgas/second","gas_limit":"280.00Mgas","full":"3.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"19.073009ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.035746378Z {"timestamp":"2026-03-24T07:10:19.035655Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500290,"hash":"0xa748a1d9e78c1491f4c659ae960efecb34974d2dd675032d1f498c69e3fc034c","elapsed":"45.606µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.051730059Z {"timestamp":"2026-03-24T07:10:19.051679Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500290,"hash":"0xa748a1d9e78c1491f4c659ae960efecb34974d2dd675032d1f498c69e3fc034c"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.216156013Z {"timestamp":"2026-03-24T07:10:19.215996Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:19.226947485Z {"timestamp":"2026-03-24T07:10:19.226540Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"44.04Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"17.947µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.417153677Z {"timestamp":"2026-03-24T07:10:19.417091Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:19.422979634Z {"timestamp":"2026-03-24T07:10:19.422931Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"177.38Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"4.456µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.618517236Z {"timestamp":"2026-03-24T07:10:19.618315Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:19.624025761Z {"timestamp":"2026-03-24T07:10:19.623888Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"23.97Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"32.974µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:19.819371712Z {"timestamp":"2026-03-24T07:10:19.819110Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:19.824303155Z {"timestamp":"2026-03-24T07:10:19.824229Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"24.78Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"31.899µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:20.020817289Z {"timestamp":"2026-03-24T07:10:20.020609Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:20.025816418Z {"timestamp":"2026-03-24T07:10:20.025764Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"21.07Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"37.52µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:20.222396456Z {"timestamp":"2026-03-24T07:10:20.222216Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:20.228241345Z {"timestamp":"2026-03-24T07:10:20.228183Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"13.53Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"58.429µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:20.423993769Z {"timestamp":"2026-03-24T07:10:20.423915Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0389c1ec2477617b","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:20.429198948Z {"timestamp":"2026-03-24T07:10:20.429142Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x6cd44069edf5b2ab575b8e044db0ccfdb42c6de3bd2ef287b1857febd84101e1","peers":23,"txs":4,"gas_used":"790.39Kgas","gas_throughput":"21.93Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"36.047µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.010868577Z {"timestamp":"2026-03-24T07:10:21.010810Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500291,"hash":"0x86999222a1b4ae19fa3f7a43f55053cd6962257d70117a14bf0927d910e36d23"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.025877638Z {"timestamp":"2026-03-24T07:10:21.025826Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x0598108094d9f01ece0491bf4abb76c0035f1ac76e243c3b1138f6e18fbe2eb2","elapsed":"1.250254ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:21.026027008Z {"timestamp":"2026-03-24T07:10:21.025900Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500291,"hash":"0x86999222a1b4ae19fa3f7a43f55053cd6962257d70117a14bf0927d910e36d23","peers":23,"txs":20,"gas_used":"7.94Mgas","gas_throughput":"521.05Mgas/second","gas_limit":"280.00Mgas","full":"2.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"15.233309ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.033968207Z {"timestamp":"2026-03-24T07:10:21.033917Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500291,"hash":"0x86999222a1b4ae19fa3f7a43f55053cd6962257d70117a14bf0927d910e36d23","elapsed":"75.963µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.055945979Z {"timestamp":"2026-03-24T07:10:21.055832Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500291,"hash":"0x86999222a1b4ae19fa3f7a43f55053cd6962257d70117a14bf0927d910e36d23"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.217032212Z {"timestamp":"2026-03-24T07:10:21.216831Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:21.233021051Z {"timestamp":"2026-03-24T07:10:21.232965Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"39.24Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"32.062µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.418117841Z {"timestamp":"2026-03-24T07:10:21.418042Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:21.426441515Z {"timestamp":"2026-03-24T07:10:21.426373Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"164.50Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"7.648µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.619160410Z {"timestamp":"2026-03-24T07:10:21.618920Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:21.627518096Z {"timestamp":"2026-03-24T07:10:21.627357Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"4.73Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"266.155µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:21.820952667Z {"timestamp":"2026-03-24T07:10:21.820542Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:21.828236759Z {"timestamp":"2026-03-24T07:10:21.828050Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"26.44Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"47.576µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:22.021416161Z {"timestamp":"2026-03-24T07:10:22.021192Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:22.029210163Z {"timestamp":"2026-03-24T07:10:22.029161Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"3.07Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"409.603µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:22.222097044Z {"timestamp":"2026-03-24T07:10:22.222018Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:22.229714976Z {"timestamp":"2026-03-24T07:10:22.229598Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"7.91Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"159.129µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:22.423898746Z {"timestamp":"2026-03-24T07:10:22.423837Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:22.431423531Z {"timestamp":"2026-03-24T07:10:22.431367Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"27.76Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"45.315µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:22.625730629Z {"timestamp":"2026-03-24T07:10:22.625526Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:22.632867821Z {"timestamp":"2026-03-24T07:10:22.632815Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"12.59Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"99.89µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:22.826237683Z {"timestamp":"2026-03-24T07:10:22.826172Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03824e53542ddde1","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:22.833327876Z {"timestamp":"2026-03-24T07:10:22.833282Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0x8d07d90a0787b95812ffd70e37a8af4dd3cfd8c99757edbfdbb75871700f978d","peers":23,"txs":4,"gas_used":"1.26Mgas","gas_throughput":"8.38Ggas/second","gas_limit":"280.00Mgas","full":"0.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"150.064µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.045273174Z {"timestamp":"2026-03-24T07:10:23.045165Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500292,"hash":"0xeec48a04c626d3666581aec5feb8533a872ac704f748e2d70be1521c85c9ec1e"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.065795402Z {"timestamp":"2026-03-24T07:10:23.065736Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x0b025d8b8d2b912cf62f3e66b5260c89822eeb44a6f68d1cb0f3502c16d5cdfd","elapsed":"2.800761ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:23.065914511Z {"timestamp":"2026-03-24T07:10:23.065844Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500292,"hash":"0xeec48a04c626d3666581aec5feb8533a872ac704f748e2d70be1521c85c9ec1e","peers":23,"txs":37,"gas_used":"13.12Mgas","gas_throughput":"630.60Mgas/second","gas_limit":"280.00Mgas","full":"4.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"20.807202ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.081658874Z {"timestamp":"2026-03-24T07:10:23.081553Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500292,"hash":"0xeec48a04c626d3666581aec5feb8533a872ac704f748e2d70be1521c85c9ec1e","elapsed":"101.758µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.270249283Z {"timestamp":"2026-03-24T07:10:23.270171Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:23.290853764Z {"timestamp":"2026-03-24T07:10:23.290794Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500292,"hash":"0xeec48a04c626d3666581aec5feb8533a872ac704f748e2d70be1521c85c9ec1e"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.294035225Z {"timestamp":"2026-03-24T07:10:23.293987Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"50.24Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"38.07µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.471297536Z {"timestamp":"2026-03-24T07:10:23.471074Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:23.479712277Z {"timestamp":"2026-03-24T07:10:23.479664Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"330.90Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.78µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.671870702Z {"timestamp":"2026-03-24T07:10:23.671802Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:23.680844028Z {"timestamp":"2026-03-24T07:10:23.680789Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"2.79Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"684.753µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:23.873730682Z {"timestamp":"2026-03-24T07:10:23.873585Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:23.882288325Z {"timestamp":"2026-03-24T07:10:23.882238Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"23.93Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"79.918µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:24.275353854Z {"timestamp":"2026-03-24T07:10:24.275132Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:24.283076230Z {"timestamp":"2026-03-24T07:10:24.282887Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"25.81Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"74.089µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:24.476215638Z {"timestamp":"2026-03-24T07:10:24.476007Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:24.484561564Z {"timestamp":"2026-03-24T07:10:24.484300Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"6.00Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"318.941µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:24.677170279Z {"timestamp":"2026-03-24T07:10:24.677045Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:24.683806226Z {"timestamp":"2026-03-24T07:10:24.683765Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"37.57Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"50.909µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:24.878963638Z {"timestamp":"2026-03-24T07:10:24.878880Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036b577803f2c549","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:24.887010747Z {"timestamp":"2026-03-24T07:10:24.886843Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0xbde81d5d9633bbd1cc14d6ffa678bcf5ff920f757e1cc45dcbe626b7100aa254","peers":23,"txs":8,"gas_used":"1.91Mgas","gas_throughput":"12.50Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"153.033µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.033602357Z {"timestamp":"2026-03-24T07:10:25.033427Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500293,"hash":"0x087cd59527d2166f9322eea036c211fb9f5090cf35d4de03a0ed933f21c02813"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.058351415Z {"timestamp":"2026-03-24T07:10:25.058263Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x93c2c82e4a7d35ff34dca9fd0034c91174ea7522a4b87a37d6bb20a0c0d6189a","elapsed":"2.104974ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:25.058473063Z {"timestamp":"2026-03-24T07:10:25.058437Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500293,"hash":"0x087cd59527d2166f9322eea036c211fb9f5090cf35d4de03a0ed933f21c02813","peers":23,"txs":38,"gas_used":"13.57Mgas","gas_throughput":"542.63Mgas/second","gas_limit":"280.00Mgas","full":"4.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"25.008342ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.074117304Z {"timestamp":"2026-03-24T07:10:25.074045Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500293,"hash":"0x087cd59527d2166f9322eea036c211fb9f5090cf35d4de03a0ed933f21c02813","elapsed":"82.828µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.147678459Z {"timestamp":"2026-03-24T07:10:25.147628Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500293,"hash":"0x087cd59527d2166f9322eea036c211fb9f5090cf35d4de03a0ed933f21c02813"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.243355111Z {"timestamp":"2026-03-24T07:10:25.243263Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:25.275003964Z {"timestamp":"2026-03-24T07:10:25.274952Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"62.56Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"47.374µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.444831320Z {"timestamp":"2026-03-24T07:10:25.444433Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:25.456682428Z {"timestamp":"2026-03-24T07:10:25.456376Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"651.22Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"4.551µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.646400430Z {"timestamp":"2026-03-24T07:10:25.646188Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:25.658851960Z {"timestamp":"2026-03-24T07:10:25.658642Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"16.57Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"178.824µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:25.847611278Z {"timestamp":"2026-03-24T07:10:25.847236Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:25.859178134Z {"timestamp":"2026-03-24T07:10:25.858867Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"11.20Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"264.572µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:26.049019606Z {"timestamp":"2026-03-24T07:10:26.048602Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:26.059631355Z {"timestamp":"2026-03-24T07:10:26.059447Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"32.35Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"91.616µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:26.249674132Z {"timestamp":"2026-03-24T07:10:26.249308Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:26.259784565Z {"timestamp":"2026-03-24T07:10:26.259532Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"15.00Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"197.637µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:26.450599903Z {"timestamp":"2026-03-24T07:10:26.450326Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:26.461604612Z {"timestamp":"2026-03-24T07:10:26.461178Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"8.87Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"334.091µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:26.650637911Z {"timestamp":"2026-03-24T07:10:26.650571Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:26.661398886Z {"timestamp":"2026-03-24T07:10:26.661344Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"17.77Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"166.744µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:26.852801373Z {"timestamp":"2026-03-24T07:10:26.852735Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x036abe937cf35ff2","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:26.863932767Z {"timestamp":"2026-03-24T07:10:26.863866Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0x8bd68d8b64e4adacea2f31dd60bf0e3ab342d9a8d554daad6c6fc1f07d740895","peers":23,"txs":8,"gas_used":"2.96Mgas","gas_throughput":"21.56Ggas/second","gas_limit":"280.00Mgas","full":"1.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"137.445µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.020565631Z {"timestamp":"2026-03-24T07:10:27.020505Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500294,"hash":"0xdc6ea65e70a16c87eb87468f90ee27a80fdb8d1dd70f405d8ac4e113bd007193"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.040370629Z {"timestamp":"2026-03-24T07:10:27.040295Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x0909fb25dfae98ea7d6f0e41926c57ec135d4c02deeb120191ae4ac25a184cb4","elapsed":"3.520247ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:27.040583128Z {"timestamp":"2026-03-24T07:10:27.040524Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500294,"hash":"0xdc6ea65e70a16c87eb87468f90ee27a80fdb8d1dd70f405d8ac4e113bd007193","peers":23,"txs":34,"gas_used":"12.12Mgas","gas_throughput":"609.99Mgas/second","gas_limit":"280.00Mgas","full":"4.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"19.873473ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.049297647Z {"timestamp":"2026-03-24T07:10:27.049251Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500294,"hash":"0xdc6ea65e70a16c87eb87468f90ee27a80fdb8d1dd70f405d8ac4e113bd007193"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.050151383Z {"timestamp":"2026-03-24T07:10:27.050108Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500294,"hash":"0xdc6ea65e70a16c87eb87468f90ee27a80fdb8d1dd70f405d8ac4e113bd007193","elapsed":"73.531µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.258116493Z {"timestamp":"2026-03-24T07:10:27.257948Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:27.280618295Z {"timestamp":"2026-03-24T07:10:27.280559Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"42.38Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"34.404µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.459466265Z {"timestamp":"2026-03-24T07:10:27.459402Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:27.468669142Z {"timestamp":"2026-03-24T07:10:27.468598Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"274.39Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.314µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.660902612Z {"timestamp":"2026-03-24T07:10:27.660718Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:27.670241990Z {"timestamp":"2026-03-24T07:10:27.669846Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"28.81Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"50.607µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:27.862241990Z {"timestamp":"2026-03-24T07:10:27.861955Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:27.869963701Z {"timestamp":"2026-03-24T07:10:27.869778Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"28.66Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"50.872µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:28.064568499Z {"timestamp":"2026-03-24T07:10:28.064506Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:28.072222062Z {"timestamp":"2026-03-24T07:10:28.072171Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"43.15Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"33.792µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:28.265733835Z {"timestamp":"2026-03-24T07:10:28.265396Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:28.273019912Z {"timestamp":"2026-03-24T07:10:28.272966Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"19.49Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"74.816µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:28.465899718Z {"timestamp":"2026-03-24T07:10:28.465772Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:28.474292449Z {"timestamp":"2026-03-24T07:10:28.474209Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"6.66Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"218.81µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:28.667592934Z {"timestamp":"2026-03-24T07:10:28.667290Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:28.676780812Z {"timestamp":"2026-03-24T07:10:28.676492Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"3.75Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"389.034µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:28.868653951Z {"timestamp":"2026-03-24T07:10:28.868474Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x039171ab1c19ea8f","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:28.876806953Z {"timestamp":"2026-03-24T07:10:28.876586Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xb0b86287f87016e4ccf2609170ebaef044d53dce7aac2510beac6d6cf49e52ff","peers":23,"txs":6,"gas_used":"1.46Mgas","gas_throughput":"32.13Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"45.378µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.085429401Z {"timestamp":"2026-03-24T07:10:29.085337Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500295,"hash":"0xe0e8385520a508e8ed9408acbe02753a8f32b347c6392ea46151ea5094cf5b9f"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.135562785Z {"timestamp":"2026-03-24T07:10:29.135500Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x7ae411f864f698f4d90e2c32614b83bf2ed088a3dfdaa5e69ce340c8f1b9350a","elapsed":"6.559052ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:29.135697477Z {"timestamp":"2026-03-24T07:10:29.135645Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500295,"hash":"0xe0e8385520a508e8ed9408acbe02753a8f32b347c6392ea46151ea5094cf5b9f","peers":23,"txs":32,"gas_used":"39.51Mgas","gas_throughput":"785.11Mgas/second","gas_limit":"280.00Mgas","full":"14.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"50.320462ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.161129785Z {"timestamp":"2026-03-24T07:10:29.161070Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500295,"hash":"0xe0e8385520a508e8ed9408acbe02753a8f32b347c6392ea46151ea5094cf5b9f","elapsed":"114.924µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.188803189Z {"timestamp":"2026-03-24T07:10:29.188741Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500295,"hash":"0xe0e8385520a508e8ed9408acbe02753a8f32b347c6392ea46151ea5094cf5b9f"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.326933436Z {"timestamp":"2026-03-24T07:10:29.326874Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:29.358421768Z {"timestamp":"2026-03-24T07:10:29.358356Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"83.77Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"24.916µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.528661212Z {"timestamp":"2026-03-24T07:10:29.528466Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:29.534116112Z {"timestamp":"2026-03-24T07:10:29.534070Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"392.33Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.32µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.731335227Z {"timestamp":"2026-03-24T07:10:29.731159Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:29.738305169Z {"timestamp":"2026-03-24T07:10:29.738066Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"27.71Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"75.332µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:29.932580877Z {"timestamp":"2026-03-24T07:10:29.932439Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:29.939069089Z {"timestamp":"2026-03-24T07:10:29.939013Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"23.01Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"90.695µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:30.133719029Z {"timestamp":"2026-03-24T07:10:30.133657Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:30.140140623Z {"timestamp":"2026-03-24T07:10:30.139765Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"8.70Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"239.785µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:30.335816154Z {"timestamp":"2026-03-24T07:10:30.335746Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:30.341930775Z {"timestamp":"2026-03-24T07:10:30.341743Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"8.29Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"251.905µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:30.537380601Z {"timestamp":"2026-03-24T07:10:30.537209Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:30.542876021Z {"timestamp":"2026-03-24T07:10:30.542826Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"22.96Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"90.914µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:30.739080274Z {"timestamp":"2026-03-24T07:10:30.738932Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:30.744933338Z {"timestamp":"2026-03-24T07:10:30.744737Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"11.01Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"189.623µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:30.940510876Z {"timestamp":"2026-03-24T07:10:30.940325Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x032d90125441ef5b","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:30.946227987Z {"timestamp":"2026-03-24T07:10:30.946170Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0xa634076422bfdee9e9243b97688267ebeff5389e6b0cc92fc3950c4febb9acbb","peers":23,"txs":6,"gas_used":"2.09Mgas","gas_throughput":"54.44Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"38.34µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.031578245Z {"timestamp":"2026-03-24T07:10:31.031501Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500296,"hash":"0x356a17516509012048e86af1a8bca4b58ab65346867f8590178cebb50e458539"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.061550767Z {"timestamp":"2026-03-24T07:10:31.061456Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x42ce458e00ce5ff8411c18cb79916d6dd809e8b20adfbb076a992cbddfdd0d67","elapsed":"1.131194ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:31.061617220Z {"timestamp":"2026-03-24T07:10:31.061555Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500296,"hash":"0x356a17516509012048e86af1a8bca4b58ab65346867f8590178cebb50e458539","peers":23,"txs":34,"gas_used":"13.33Mgas","gas_throughput":"442.99Mgas/second","gas_limit":"280.00Mgas","full":"4.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"30.10036ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.071739890Z {"timestamp":"2026-03-24T07:10:31.071691Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500296,"hash":"0x356a17516509012048e86af1a8bca4b58ab65346867f8590178cebb50e458539","elapsed":"89.641µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.147123657Z {"timestamp":"2026-03-24T07:10:31.147060Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500296,"hash":"0x356a17516509012048e86af1a8bca4b58ab65346867f8590178cebb50e458539"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.239542639Z {"timestamp":"2026-03-24T07:10:31.239477Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:31.261286647Z {"timestamp":"2026-03-24T07:10:31.261160Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"87.50Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"32.826µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.440194057Z {"timestamp":"2026-03-24T07:10:31.439963Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:31.448055887Z {"timestamp":"2026-03-24T07:10:31.448004Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"469.80Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"6.114µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.641178644Z {"timestamp":"2026-03-24T07:10:31.640974Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:31.649514515Z {"timestamp":"2026-03-24T07:10:31.649298Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"54.63Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"52.58µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:31.842037933Z {"timestamp":"2026-03-24T07:10:31.841830Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:31.849523017Z {"timestamp":"2026-03-24T07:10:31.849176Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"49.51Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"58.016µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:32.043138689Z {"timestamp":"2026-03-24T07:10:32.042937Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:32.050367620Z {"timestamp":"2026-03-24T07:10:32.050329Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"13.52Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"212.449µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:32.244643233Z {"timestamp":"2026-03-24T07:10:32.244515Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:32.252743096Z {"timestamp":"2026-03-24T07:10:32.252525Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"42.38Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"67.774µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:32.445469576Z {"timestamp":"2026-03-24T07:10:32.445269Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:32.452976104Z {"timestamp":"2026-03-24T07:10:32.452921Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"14.73Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"194.948µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:32.646425813Z {"timestamp":"2026-03-24T07:10:32.646222Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x033ad522d6036065","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:32.654267199Z {"timestamp":"2026-03-24T07:10:32.654192Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0x9286c8933d75c58363914c3511f9fe1ed78927267877bae3200c9d865f8899e2","peers":23,"txs":5,"gas_used":"2.87Mgas","gas_throughput":"42.89Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"66.97µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.014944743Z {"timestamp":"2026-03-24T07:10:33.014901Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500297,"hash":"0xd57cef194e5682e3f294eda7112cd423f510dadb54ca0000169a07bbc21f4db8"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.031251219Z {"timestamp":"2026-03-24T07:10:33.031183Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x643dc3a3f783ab703f821bd0cd03d9f5c6acb6c18a77692b9eb0d974079aa52c","elapsed":"2.16483ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:33.031355900Z {"timestamp":"2026-03-24T07:10:33.031281Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500297,"hash":"0xd57cef194e5682e3f294eda7112cd423f510dadb54ca0000169a07bbc21f4db8","peers":23,"txs":24,"gas_used":"9.12Mgas","gas_throughput":"557.55Mgas/second","gas_limit":"280.00Mgas","full":"3.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"16.356787ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.041476622Z {"timestamp":"2026-03-24T07:10:33.041420Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500297,"hash":"0xd57cef194e5682e3f294eda7112cd423f510dadb54ca0000169a07bbc21f4db8","elapsed":"53.928µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.131882426Z {"timestamp":"2026-03-24T07:10:33.131830Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500297,"hash":"0xd57cef194e5682e3f294eda7112cd423f510dadb54ca0000169a07bbc21f4db8"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.223715623Z {"timestamp":"2026-03-24T07:10:33.223558Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:33.248839653Z {"timestamp":"2026-03-24T07:10:33.248783Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"50.74Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"41.813µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.426019280Z {"timestamp":"2026-03-24T07:10:33.425622Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:33.438016412Z {"timestamp":"2026-03-24T07:10:33.437964Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"447.44Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"4.742µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.626278224Z {"timestamp":"2026-03-24T07:10:33.626079Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:33.637836733Z {"timestamp":"2026-03-24T07:10:33.637494Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"27.91Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"76.027µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:33.827143767Z {"timestamp":"2026-03-24T07:10:33.826722Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:33.837548831Z {"timestamp":"2026-03-24T07:10:33.837432Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"17.63Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"120.341µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:34.028993898Z {"timestamp":"2026-03-24T07:10:34.028789Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:34.039730627Z {"timestamp":"2026-03-24T07:10:34.039536Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"10.02Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"211.648µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:34.229868213Z {"timestamp":"2026-03-24T07:10:34.229797Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:34.240835610Z {"timestamp":"2026-03-24T07:10:34.240782Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"8.55Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"248.287µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:34.431633551Z {"timestamp":"2026-03-24T07:10:34.431440Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:34.442482820Z {"timestamp":"2026-03-24T07:10:34.442426Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"21.59Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"98.259µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:34.633669174Z {"timestamp":"2026-03-24T07:10:34.633601Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:34.644655496Z {"timestamp":"2026-03-24T07:10:34.644597Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"5.74Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"369.362µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:34.834438788Z {"timestamp":"2026-03-24T07:10:34.834374Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca4b77b0da7b4d","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:34.845766081Z {"timestamp":"2026-03-24T07:10:34.845486Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x91c92d3d9c32c5f8aaf217b4b29f48a92792287ff4a7039310a7406eba8098c0","peers":23,"txs":7,"gas_used":"2.12Mgas","gas_throughput":"7.90Ggas/second","gas_limit":"280.00Mgas","full":"0.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"268.459µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:34.967905691Z {"timestamp":"2026-03-24T07:10:34.967751Z","level":"DEBUG","fields":{"message":"rotating receive peer","evicted_peer":"0xc96dcadf4cdea4c39ec3fd775637d9e67d455b856b1514cfcf55b72f873a34b96d69e47ccea9fc797a446d4e6948aa80f6b9d479a1727ca166758a900b08f422","new_peer":"0xbca51fc03bb1d815dedcc415a5dc194638b1cdf8c2a2a38d4d7576c4a990adbf6bff08f4e59848e73a440b2f3a3afa2db69af32813558922f9484ed494c91420"},"target":"flashblocks::p2p"} +2026-03-24T07:10:34.967927565Z {"timestamp":"2026-03-24T07:10:34.967768Z","level":"DEBUG","fields":{"message":"sending RequestFlashblocks to peer","peer_id":"0xbca51fc03bb1d815dedcc415a5dc194638b1cdf8c2a2a38d4d7576c4a990adbf6bff08f4e59848e73a440b2f3a3afa2db69af32813558922f9484ed494c91420"},"target":"flashblocks::p2p"} +2026-03-24T07:10:35.037301984Z {"timestamp":"2026-03-24T07:10:35.037198Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500298,"hash":"0x507d51cf80a0b2832ac90c0e4e185cf2989e2b9882e449edfc6201b4ab786b47"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.059703569Z {"timestamp":"2026-03-24T07:10:35.059645Z","level":"INFO","fields":{"message":"peer accepted our receive request, now receiving flashblocks","peer_id":"0xbca51fc03bb1d815dedcc415a5dc194638b1cdf8c2a2a38d4d7576c4a990adbf6bff08f4e59848e73a440b2f3a3afa2db69af32813558922f9484ed494c91420"},"target":"flashblocks::p2p"} +2026-03-24T07:10:35.063507392Z {"timestamp":"2026-03-24T07:10:35.063448Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x2f1ab395d51ff5450c3427b8feb306a2db88e5336c7a5ee43a577067668d2427","elapsed":"2.401964ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:35.063617845Z {"timestamp":"2026-03-24T07:10:35.063563Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500298,"hash":"0x507d51cf80a0b2832ac90c0e4e185cf2989e2b9882e449edfc6201b4ab786b47","peers":23,"txs":34,"gas_used":"18.97Mgas","gas_throughput":"715.84Mgas/second","gas_limit":"280.00Mgas","full":"6.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"26.495062ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.081647987Z {"timestamp":"2026-03-24T07:10:35.081588Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500298,"hash":"0x507d51cf80a0b2832ac90c0e4e185cf2989e2b9882e449edfc6201b4ab786b47","elapsed":"128.576µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.159477869Z {"timestamp":"2026-03-24T07:10:35.159427Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500298,"hash":"0x507d51cf80a0b2832ac90c0e4e185cf2989e2b9882e449edfc6201b4ab786b47"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.247727110Z {"timestamp":"2026-03-24T07:10:35.247657Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:35.283929750Z {"timestamp":"2026-03-24T07:10:35.283863Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"38.90Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"73.485µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.448449953Z {"timestamp":"2026-03-24T07:10:35.448253Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:35.458772955Z {"timestamp":"2026-03-24T07:10:35.458721Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"505.51Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.655µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.649232355Z {"timestamp":"2026-03-24T07:10:35.649031Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:35.658965357Z {"timestamp":"2026-03-24T07:10:35.658911Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"10.89Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"262.479µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:35.850261366Z {"timestamp":"2026-03-24T07:10:35.850054Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:35.860184163Z {"timestamp":"2026-03-24T07:10:35.860097Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"15.32Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"186.567µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:36.051907564Z {"timestamp":"2026-03-24T07:10:36.051489Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:36.061882425Z {"timestamp":"2026-03-24T07:10:36.061824Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"10.84Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"263.617µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:36.250596052Z {"timestamp":"2026-03-24T07:10:36.250513Z","level":"WARN","fields":{"message":"trusted peer disconnected","peer_id":"0xe50a751174d57c5c20338bd9d35cbf8879d748f966240916fed2a713d79548d0d1b775e3cc941b9c7f8a3dd8caf8d262011ee7b17d26646c1f4104c338c821af","info":"never connected"},"target":"flashblocks::p2p"} +2026-03-24T07:10:36.252194157Z {"timestamp":"2026-03-24T07:10:36.252143Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:36.262147504Z {"timestamp":"2026-03-24T07:10:36.261929Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"7.43Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"384.904µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:36.453492614Z {"timestamp":"2026-03-24T07:10:36.453424Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:36.462591193Z {"timestamp":"2026-03-24T07:10:36.462532Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"13.78Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"207.406µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:36.654322540Z {"timestamp":"2026-03-24T07:10:36.654174Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:36.663080699Z {"timestamp":"2026-03-24T07:10:36.663020Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"22.33Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"128.019µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:36.854758431Z {"timestamp":"2026-03-24T07:10:36.854697Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03b773da3757664b","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:36.863824311Z {"timestamp":"2026-03-24T07:10:36.863708Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x0815d79e49b8005d4da918c583972338e32f675278cde58e74654f2e7a8d21d5","peers":23,"txs":6,"gas_used":"2.86Mgas","gas_throughput":"16.12Ggas/second","gas_limit":"280.00Mgas","full":"1.0%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"177.295µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.041781732Z {"timestamp":"2026-03-24T07:10:37.041723Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500299,"hash":"0x1aa6395138c308ccb913f268e37bb4644bc2c7b02a5bb98e02109b19559e8e7b"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.068508397Z {"timestamp":"2026-03-24T07:10:37.068445Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x6f6725d83ea58992e8b4e7147b648f66a71f6a45745f22dd583bc6e82133de73","elapsed":"5.047241ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:37.068638790Z {"timestamp":"2026-03-24T07:10:37.068580Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500299,"hash":"0x1aa6395138c308ccb913f268e37bb4644bc2c7b02a5bb98e02109b19559e8e7b","peers":23,"txs":40,"gas_used":"16.40Mgas","gas_throughput":"612.48Mgas/second","gas_limit":"280.00Mgas","full":"5.9%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"26.776175ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.086135941Z {"timestamp":"2026-03-24T07:10:37.086069Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500299,"hash":"0x1aa6395138c308ccb913f268e37bb4644bc2c7b02a5bb98e02109b19559e8e7b","elapsed":"124.818µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.163083827Z {"timestamp":"2026-03-24T07:10:37.163029Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500299,"hash":"0x1aa6395138c308ccb913f268e37bb4644bc2c7b02a5bb98e02109b19559e8e7b"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.251962891Z {"timestamp":"2026-03-24T07:10:37.251898Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:37.264397397Z {"timestamp":"2026-03-24T07:10:37.264345Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"33.34Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"26.641µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.453019127Z {"timestamp":"2026-03-24T07:10:37.452960Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:37.458844013Z {"timestamp":"2026-03-24T07:10:37.458799Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"166.07Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.348µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.654200178Z {"timestamp":"2026-03-24T07:10:37.654010Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:37.659686476Z {"timestamp":"2026-03-24T07:10:37.659634Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"4.47Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"198.632µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:37.855613693Z {"timestamp":"2026-03-24T07:10:37.855157Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:37.861160047Z {"timestamp":"2026-03-24T07:10:37.861106Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"36.11Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"24.597µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:38.055945424Z {"timestamp":"2026-03-24T07:10:38.055741Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:38.061624867Z {"timestamp":"2026-03-24T07:10:38.061433Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"24.99Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"35.535µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:38.257632648Z {"timestamp":"2026-03-24T07:10:38.257423Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:38.263032089Z {"timestamp":"2026-03-24T07:10:38.262877Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"41.72Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"21.287µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:38.459087340Z {"timestamp":"2026-03-24T07:10:38.458685Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:38.464803439Z {"timestamp":"2026-03-24T07:10:38.464629Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"4.17Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"213.131µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:38.660163552Z {"timestamp":"2026-03-24T07:10:38.659966Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x037914ef1722b758","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:38.665949764Z {"timestamp":"2026-03-24T07:10:38.665714Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x0d0cca10c75cfcc74a57acb46b3ca206e1943225c7ac4d02bb2bb474b0d127d8","peers":23,"txs":4,"gas_used":"888.15Kgas","gas_throughput":"4.15Ggas/second","gas_limit":"280.00Mgas","full":"0.3%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"214.022µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.119484189Z {"timestamp":"2026-03-24T07:10:39.119411Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500300,"hash":"0x5d4d910953505f5ee7cbecf8c80c6404b3158beb8ab27c72b20da9d3d88abb13"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.141514716Z {"timestamp":"2026-03-24T07:10:39.141458Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0xeeeaa45837187b547076762e6292f11ce26b74b11048a60c71e7121cdf8cd3f8","elapsed":"1.921305ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:39.141632159Z {"timestamp":"2026-03-24T07:10:39.141587Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500300,"hash":"0x5d4d910953505f5ee7cbecf8c80c6404b3158beb8ab27c72b20da9d3d88abb13","peers":23,"txs":35,"gas_used":"15.28Mgas","gas_throughput":"686.13Mgas/second","gas_limit":"280.00Mgas","full":"5.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"22.268427ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.160102168Z {"timestamp":"2026-03-24T07:10:39.160033Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500300,"hash":"0x5d4d910953505f5ee7cbecf8c80c6404b3158beb8ab27c72b20da9d3d88abb13","elapsed":"62.087µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.238917596Z {"timestamp":"2026-03-24T07:10:39.238856Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500300,"hash":"0x5d4d910953505f5ee7cbecf8c80c6404b3158beb8ab27c72b20da9d3d88abb13"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.311685965Z {"timestamp":"2026-03-24T07:10:39.311620Z","level":"INFO","fields":{"message":"Status","connected_peers":23,"latest_block":"27500300"},"target":"reth::cli"} +2026-03-24T07:10:39.332826957Z {"timestamp":"2026-03-24T07:10:39.332759Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:39.353822517Z {"timestamp":"2026-03-24T07:10:39.353762Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"51.83Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"35.488µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.533402916Z {"timestamp":"2026-03-24T07:10:39.533211Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:39.542337842Z {"timestamp":"2026-03-24T07:10:39.541944Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"387.59Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"4.746µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.734552343Z {"timestamp":"2026-03-24T07:10:39.734476Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:39.742470589Z {"timestamp":"2026-03-24T07:10:39.742424Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"31.40Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"58.581µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:39.936492575Z {"timestamp":"2026-03-24T07:10:39.936422Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:39.945292566Z {"timestamp":"2026-03-24T07:10:39.945016Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"14.08Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"130.604µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:40.135995770Z {"timestamp":"2026-03-24T07:10:40.135930Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:40.144107281Z {"timestamp":"2026-03-24T07:10:40.144044Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"9.86Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"186.602µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:40.337767225Z {"timestamp":"2026-03-24T07:10:40.337709Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:40.346222870Z {"timestamp":"2026-03-24T07:10:40.346171Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"37.83Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"48.628µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:40.539585810Z {"timestamp":"2026-03-24T07:10:40.539398Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:40.547272500Z {"timestamp":"2026-03-24T07:10:40.547225Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"39.03Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"47.131µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:40.739642913Z {"timestamp":"2026-03-24T07:10:40.739589Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:40.747315216Z {"timestamp":"2026-03-24T07:10:40.747252Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"11.84Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"155.375µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:40.941101676Z {"timestamp":"2026-03-24T07:10:40.940978Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x0386ab3c0c424d45","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:40.949582891Z {"timestamp":"2026-03-24T07:10:40.949534Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0x128be84554306003bd62811bec7997f571b00cde053186818c050e5ed4e3a170","peers":23,"txs":6,"gas_used":"1.84Mgas","gas_throughput":"36.71Ggas/second","gas_limit":"280.00Mgas","full":"0.7%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"50.103µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.103546641Z {"timestamp":"2026-03-24T07:10:41.103488Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500301,"hash":"0xd9c87f6b8f7a501fc2dfcf2edeada4625fb7d1ef292f2f202a079e1d59401216"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.158106405Z {"timestamp":"2026-03-24T07:10:41.158038Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x0c8801acf749b0fc83f167bc01b906dd81512838f620b24a995c2d072bf3b7fc","elapsed":"5.616418ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:41.158279712Z {"timestamp":"2026-03-24T07:10:41.158222Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500301,"hash":"0xd9c87f6b8f7a501fc2dfcf2edeada4625fb7d1ef292f2f202a079e1d59401216","peers":23,"txs":41,"gas_used":"43.50Mgas","gas_throughput":"795.24Mgas/second","gas_limit":"280.00Mgas","full":"15.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"54.700979ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.190597351Z {"timestamp":"2026-03-24T07:10:41.190480Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500301,"hash":"0xd9c87f6b8f7a501fc2dfcf2edeada4625fb7d1ef292f2f202a079e1d59401216","elapsed":"91.662µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.273879360Z {"timestamp":"2026-03-24T07:10:41.273827Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500301,"hash":"0xd9c87f6b8f7a501fc2dfcf2edeada4625fb7d1ef292f2f202a079e1d59401216"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.321247927Z {"timestamp":"2026-03-24T07:10:41.321079Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:41.338896808Z {"timestamp":"2026-03-24T07:10:41.338843Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"68.28Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"18.784µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.522859497Z {"timestamp":"2026-03-24T07:10:41.522648Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:41.528065398Z {"timestamp":"2026-03-24T07:10:41.528009Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"330.28Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"3.883µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.724229457Z {"timestamp":"2026-03-24T07:10:41.724156Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:41.728791155Z {"timestamp":"2026-03-24T07:10:41.728736Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"29.60Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"43.332µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:41.925453482Z {"timestamp":"2026-03-24T07:10:41.925383Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:41.930537621Z {"timestamp":"2026-03-24T07:10:41.930471Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"11.20Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"114.515µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:42.126865737Z {"timestamp":"2026-03-24T07:10:42.126668Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:42.132363096Z {"timestamp":"2026-03-24T07:10:42.131953Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"33.98Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"37.745µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:42.328167423Z {"timestamp":"2026-03-24T07:10:42.327968Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:42.333737204Z {"timestamp":"2026-03-24T07:10:42.333555Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"24.70Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"51.913µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:42.529294879Z {"timestamp":"2026-03-24T07:10:42.529116Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:42.534006962Z {"timestamp":"2026-03-24T07:10:42.533963Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"35.61Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"36.017µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:42.730251214Z {"timestamp":"2026-03-24T07:10:42.730182Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x031886fd27670dde","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:42.735687973Z {"timestamp":"2026-03-24T07:10:42.735445Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0x8fd494a1169a40929e335a0d2e680fe8a4909a581c58c86594e92e5c76c61bc0","peers":23,"txs":5,"gas_used":"1.28Mgas","gas_throughput":"18.99Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"67.548µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.012623801Z {"timestamp":"2026-03-24T07:10:43.012369Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500302,"hash":"0xa4686f590f651a14d63e8022c8833cebf776c0021987fb650dcb4de3e7c3e7b8"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.031504859Z {"timestamp":"2026-03-24T07:10:43.031439Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0xaf79f519662e81a5ca78da4498b92e14ff66a36c74587fde8461e47d18bf59eb","elapsed":"2.149994ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:43.031755956Z {"timestamp":"2026-03-24T07:10:43.031558Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500302,"hash":"0xa4686f590f651a14d63e8022c8833cebf776c0021987fb650dcb4de3e7c3e7b8","peers":23,"txs":29,"gas_used":"10.58Mgas","gas_throughput":"549.96Mgas/second","gas_limit":"280.00Mgas","full":"3.8%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"19.234681ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.039252873Z {"timestamp":"2026-03-24T07:10:43.039190Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500302,"hash":"0xa4686f590f651a14d63e8022c8833cebf776c0021987fb650dcb4de3e7c3e7b8","elapsed":"64.889µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.055151693Z {"timestamp":"2026-03-24T07:10:43.055095Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500302,"hash":"0xa4686f590f651a14d63e8022c8833cebf776c0021987fb650dcb4de3e7c3e7b8"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.219580223Z {"timestamp":"2026-03-24T07:10:43.219524Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:43.231468749Z {"timestamp":"2026-03-24T07:10:43.231416Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"23.25Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"26.62µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.421236776Z {"timestamp":"2026-03-24T07:10:43.421170Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:43.426878928Z {"timestamp":"2026-03-24T07:10:43.426838Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"124.99Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"4.952µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.622591190Z {"timestamp":"2026-03-24T07:10:43.622375Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:43.628146412Z {"timestamp":"2026-03-24T07:10:43.628022Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"23.86Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"25.946µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:43.824060374Z {"timestamp":"2026-03-24T07:10:43.823902Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:43.829840628Z {"timestamp":"2026-03-24T07:10:43.829526Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"19.67Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"31.469µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:44.025223825Z {"timestamp":"2026-03-24T07:10:44.025023Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:44.030457290Z {"timestamp":"2026-03-24T07:10:44.030349Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"12.14Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"50.994µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:44.226459512Z {"timestamp":"2026-03-24T07:10:44.226198Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:44.232822016Z {"timestamp":"2026-03-24T07:10:44.232768Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"19.94Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"31.035µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:44.427340575Z {"timestamp":"2026-03-24T07:10:44.427180Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:44.432861669Z {"timestamp":"2026-03-24T07:10:44.432797Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"4.42Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"140.117µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:44.628988010Z {"timestamp":"2026-03-24T07:10:44.628789Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:44.634886316Z {"timestamp":"2026-03-24T07:10:44.634833Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"15.14Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"40.874µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:44.830899590Z {"timestamp":"2026-03-24T07:10:44.830752Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035c32a12a2a2859","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:44.837176797Z {"timestamp":"2026-03-24T07:10:44.836855Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0x0e5f63cf0b6c07a0154ceb834ec7ee2c6c5c617663260d66cb04642b8f10c43f","peers":23,"txs":3,"gas_used":"618.98Kgas","gas_throughput":"15.24Ggas/second","gas_limit":"280.00Mgas","full":"0.2%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"40.625µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.022308943Z {"timestamp":"2026-03-24T07:10:45.022238Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500303,"hash":"0xf2c1514bd0381233b37880c3d6b4892281ea08a922d9482b3fd494d1c0322477"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.044174604Z {"timestamp":"2026-03-24T07:10:45.044040Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0xc6da3d8d2bf99d48af8ebbbcd90e3276e5c06a4ca463404d986acc8f46be342a","elapsed":"1.674528ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:45.044194297Z {"timestamp":"2026-03-24T07:10:45.044126Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500303,"hash":"0xf2c1514bd0381233b37880c3d6b4892281ea08a922d9482b3fd494d1c0322477","peers":23,"txs":32,"gas_used":"12.51Mgas","gas_throughput":"571.88Mgas/second","gas_limit":"280.00Mgas","full":"4.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"21.872333ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.058347578Z {"timestamp":"2026-03-24T07:10:45.058279Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500303,"hash":"0xf2c1514bd0381233b37880c3d6b4892281ea08a922d9482b3fd494d1c0322477","elapsed":"75.133µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.138424270Z {"timestamp":"2026-03-24T07:10:45.138204Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500303,"hash":"0xf2c1514bd0381233b37880c3d6b4892281ea08a922d9482b3fd494d1c0322477"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.229495460Z {"timestamp":"2026-03-24T07:10:45.229349Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:45.282203182Z {"timestamp":"2026-03-24T07:10:45.282145Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"92.52Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"47.026µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.430162648Z {"timestamp":"2026-03-24T07:10:45.430014Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:45.442101321Z {"timestamp":"2026-03-24T07:10:45.441977Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"898.76Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"4.841µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.631787796Z {"timestamp":"2026-03-24T07:10:45.631607Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:45.643840591Z {"timestamp":"2026-03-24T07:10:45.643774Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"43.74Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"99.462µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:45.832585715Z {"timestamp":"2026-03-24T07:10:45.832379Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:45.845427655Z {"timestamp":"2026-03-24T07:10:45.845375Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"26.07Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"166.915µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:46.033175845Z {"timestamp":"2026-03-24T07:10:46.032980Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:46.045086802Z {"timestamp":"2026-03-24T07:10:46.044730Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"21.99Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"197.859µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:46.234899997Z {"timestamp":"2026-03-24T07:10:46.234677Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:46.246776859Z {"timestamp":"2026-03-24T07:10:46.246420Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"30.65Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"141.965µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:46.436372287Z {"timestamp":"2026-03-24T07:10:46.436173Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:46.447453790Z {"timestamp":"2026-03-24T07:10:46.447402Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"34.82Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"124.943µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:46.595417632Z {"timestamp":"2026-03-24T07:10:46.595363Z","level":"INFO","fields":{"message":"peer cancelled flashblocks, removing from send set","peer_id":"0xd990d4825a947af08ed700d25d6b4581d009be031f5a1c4e9f65708e76aa35ffb810c6aad1d94e41ae0ed4921acb7303aac6ddeabd324d3a338317a2dde9df40"},"target":"flashblocks::p2p"} +2026-03-24T07:10:46.637922554Z {"timestamp":"2026-03-24T07:10:46.637743Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:46.649229259Z {"timestamp":"2026-03-24T07:10:46.648877Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"14.56Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"298.88µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:46.839378653Z {"timestamp":"2026-03-24T07:10:46.838952Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x035a2bed72782ce7","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:46.850536779Z {"timestamp":"2026-03-24T07:10:46.850326Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0xab219e54f87e38f65f34eb25d4df5c18a08bfb940d2c3cfcfa5f8ddf80c6f23d","peers":23,"txs":12,"gas_used":"4.35Mgas","gas_throughput":"27.06Ggas/second","gas_limit":"280.00Mgas","full":"1.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"160.786µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.106838529Z {"timestamp":"2026-03-24T07:10:47.106708Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500304,"hash":"0x5fcaa0f35118f1416f08fccad3d97e8e9343eb925dbd15915a73ea80ba218dbf"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.134708349Z {"timestamp":"2026-03-24T07:10:47.134648Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x910cbc4032beb6c097976555171499862c076dc4f52ba0b7600d92dee68c3ec6","elapsed":"2.006743ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:47.134926361Z {"timestamp":"2026-03-24T07:10:47.134855Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500304,"hash":"0x5fcaa0f35118f1416f08fccad3d97e8e9343eb925dbd15915a73ea80ba218dbf","peers":23,"txs":45,"gas_used":"17.05Mgas","gas_throughput":"598.70Mgas/second","gas_limit":"280.00Mgas","full":"6.1%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"28.473097ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.149478644Z {"timestamp":"2026-03-24T07:10:47.149351Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500304,"hash":"0x5fcaa0f35118f1416f08fccad3d97e8e9343eb925dbd15915a73ea80ba218dbf","elapsed":"105.494µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.283069746Z {"timestamp":"2026-03-24T07:10:47.283012Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500304,"hash":"0x5fcaa0f35118f1416f08fccad3d97e8e9343eb925dbd15915a73ea80ba218dbf"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.336084451Z {"timestamp":"2026-03-24T07:10:47.335942Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:47.349501740Z {"timestamp":"2026-03-24T07:10:47.349445Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"38.56Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"32.875µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.537766481Z {"timestamp":"2026-03-24T07:10:47.537601Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:47.545925611Z {"timestamp":"2026-03-24T07:10:47.545872Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"232.07Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.462µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.738220592Z {"timestamp":"2026-03-24T07:10:47.738157Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:47.747973137Z {"timestamp":"2026-03-24T07:10:47.747618Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"3.00Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"422.268µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:47.939489809Z {"timestamp":"2026-03-24T07:10:47.939214Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:47.947912670Z {"timestamp":"2026-03-24T07:10:47.947683Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"9.67Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"131.025µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:48.140167208Z {"timestamp":"2026-03-24T07:10:48.140041Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:48.147109544Z {"timestamp":"2026-03-24T07:10:48.146829Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"9.05Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"140.031µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:48.340970671Z {"timestamp":"2026-03-24T07:10:48.340909Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:48.347561061Z {"timestamp":"2026-03-24T07:10:48.347504Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"10.89Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"116.423µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:48.542504874Z {"timestamp":"2026-03-24T07:10:48.542321Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:48.549057080Z {"timestamp":"2026-03-24T07:10:48.548654Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"24.26Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"52.255µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:48.742839510Z {"timestamp":"2026-03-24T07:10:48.742760Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:48.749911142Z {"timestamp":"2026-03-24T07:10:48.749843Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"20.08Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"63.14µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:48.944745595Z {"timestamp":"2026-03-24T07:10:48.944487Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x03ca62a08d2d54a6","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:48.951887881Z {"timestamp":"2026-03-24T07:10:48.951694Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0xb33359d7f0080dbf50954decf988fca1a4ed9343b0c359f07d8861da4f1e5b29","peers":23,"txs":4,"gas_used":"1.27Mgas","gas_throughput":"11.12Ggas/second","gas_limit":"280.00Mgas","full":"0.5%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"114.012µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.027121454Z {"timestamp":"2026-03-24T07:10:49.027039Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500305,"hash":"0x8911b3f49ec48a66508cea2242d6bfd62d630fa7edc4e2262c7d5708db298d91"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.051753606Z {"timestamp":"2026-03-24T07:10:49.051687Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0x1af6789460a906721ba0aed11bdfe0ec925b12fd0a6ccbb0da913630791bd3b6","elapsed":"2.441996ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:49.051904288Z {"timestamp":"2026-03-24T07:10:49.051843Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500305,"hash":"0x8911b3f49ec48a66508cea2242d6bfd62d630fa7edc4e2262c7d5708db298d91","peers":23,"txs":33,"gas_used":"15.79Mgas","gas_throughput":"634.93Mgas/second","gas_limit":"280.00Mgas","full":"5.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"24.872721ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.064917639Z {"timestamp":"2026-03-24T07:10:49.064860Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500305,"hash":"0x8911b3f49ec48a66508cea2242d6bfd62d630fa7edc4e2262c7d5708db298d91","elapsed":"123.699µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.139684303Z {"timestamp":"2026-03-24T07:10:49.139630Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500305,"hash":"0x8911b3f49ec48a66508cea2242d6bfd62d630fa7edc4e2262c7d5708db298d91"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.235158165Z {"timestamp":"2026-03-24T07:10:49.234995Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:49.255115266Z {"timestamp":"2026-03-24T07:10:49.255056Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"49.51Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"34.927µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.435730757Z {"timestamp":"2026-03-24T07:10:49.435670Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:49.444301246Z {"timestamp":"2026-03-24T07:10:49.444222Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"285.53Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"6.056µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.637227877Z {"timestamp":"2026-03-24T07:10:49.637167Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:49.643787188Z {"timestamp":"2026-03-24T07:10:49.643727Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"51.25Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"33.741µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:49.838429260Z {"timestamp":"2026-03-24T07:10:49.838213Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:49.845455145Z {"timestamp":"2026-03-24T07:10:49.845400Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"9.66Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"179.068µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:50.039316631Z {"timestamp":"2026-03-24T07:10:50.039160Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:50.045665101Z {"timestamp":"2026-03-24T07:10:50.045557Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"17.20Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"100.533µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:50.240116722Z {"timestamp":"2026-03-24T07:10:50.239961Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:50.246435392Z {"timestamp":"2026-03-24T07:10:50.246387Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"5.33Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"324.461µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:50.441228066Z {"timestamp":"2026-03-24T07:10:50.441073Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:50.447763220Z {"timestamp":"2026-03-24T07:10:50.447720Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"43.82Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"39.458µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:50.642666054Z {"timestamp":"2026-03-24T07:10:50.642604Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:50.649871778Z {"timestamp":"2026-03-24T07:10:50.649709Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"4.48Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"386.271µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:50.842985771Z {"timestamp":"2026-03-24T07:10:50.842919Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x030f07bfd428e564","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:50.849505022Z {"timestamp":"2026-03-24T07:10:50.849327Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x3c345754659096fa106ad6c53228fb77d2ca39fa494679b6be1922a4825cf048","peers":23,"txs":5,"gas_used":"1.73Mgas","gas_throughput":"29.68Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"58.254µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.028514860Z {"timestamp":"2026-03-24T07:10:51.028435Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500306,"hash":"0x6de147c2a39d6359c7f173514936390f9f3358add1a6c6210facb4e3c83b1185"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.051599044Z {"timestamp":"2026-03-24T07:10:51.051541Z","level":"INFO","fields":{"message":"State root task finished","state_root":"0xff0ad5786572a0d91f5d116a764a2fd86c03f278ed12b47e6ba86661a9ac411e","elapsed":"2.300224ms"},"target":"engine::tree::payload_validator"} +2026-03-24T07:10:51.051748775Z {"timestamp":"2026-03-24T07:10:51.051669Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500306,"hash":"0x6de147c2a39d6359c7f173514936390f9f3358add1a6c6210facb4e3c83b1185","peers":23,"txs":36,"gas_used":"15.14Mgas","gas_throughput":"652.15Mgas/second","gas_limit":"280.00Mgas","full":"5.4%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"23.209837ms"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.061445439Z {"timestamp":"2026-03-24T07:10:51.061365Z","level":"INFO","fields":{"message":"Canonical chain committed","number":27500306,"hash":"0x6de147c2a39d6359c7f173514936390f9f3358add1a6c6210facb4e3c83b1185","elapsed":"81.086µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.145719387Z {"timestamp":"2026-03-24T07:10:51.145659Z","level":"INFO","fields":{"message":"Received new payload from consensus engine","number":27500306,"hash":"0x6de147c2a39d6359c7f173514936390f9f3358add1a6c6210facb4e3c83b1185"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.267234898Z {"timestamp":"2026-03-24T07:10:51.267180Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"0"},"target":"flashblocks::p2p"} +2026-03-24T07:10:51.292328635Z {"timestamp":"2026-03-24T07:10:51.292106Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"80.36Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"20.921µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.468420201Z {"timestamp":"2026-03-24T07:10:51.468349Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"1"},"target":"flashblocks::p2p"} +2026-03-24T07:10:51.475726210Z {"timestamp":"2026-03-24T07:10:51.475425Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"310.69Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"5.411µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.669930972Z {"timestamp":"2026-03-24T07:10:51.669615Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"2"},"target":"flashblocks::p2p"} +2026-03-24T07:10:51.676865455Z {"timestamp":"2026-03-24T07:10:51.676814Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"57.05Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"29.468µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:51.872718737Z {"timestamp":"2026-03-24T07:10:51.872550Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"3"},"target":"flashblocks::p2p"} +2026-03-24T07:10:51.879879163Z {"timestamp":"2026-03-24T07:10:51.879721Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"47.82Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"35.153µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:52.073192461Z {"timestamp":"2026-03-24T07:10:52.073049Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"4"},"target":"flashblocks::p2p"} +2026-03-24T07:10:52.080307089Z {"timestamp":"2026-03-24T07:10:52.080245Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"16.70Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"100.681µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:52.149417448Z {"timestamp":"2026-03-24T07:10:52.149271Z","level":"INFO","fields":{"message":"accepted RequestFlashblocks, adding peer to send set","peer_id":"0xbca51fc03bb1d815dedcc415a5dc194638b1cdf8c2a2a38d4d7576c4a990adbf6bff08f4e59848e73a440b2f3a3afa2db69af32813558922f9484ed494c91420","trusted":false,"send_count":5},"target":"flashblocks::p2p"} +2026-03-24T07:10:52.274896843Z {"timestamp":"2026-03-24T07:10:52.274718Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"5"},"target":"flashblocks::p2p"} +2026-03-24T07:10:52.281773640Z {"timestamp":"2026-03-24T07:10:52.281729Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"14.09Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"119.279µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:52.475644858Z {"timestamp":"2026-03-24T07:10:52.475461Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"6"},"target":"flashblocks::p2p"} +2026-03-24T07:10:52.482411030Z {"timestamp":"2026-03-24T07:10:52.482209Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"13.03Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"129.058µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:52.677017208Z {"timestamp":"2026-03-24T07:10:52.676670Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"7"},"target":"flashblocks::p2p"} +2026-03-24T07:10:52.683919773Z {"timestamp":"2026-03-24T07:10:52.683861Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"11.50Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"146.24µs"},"target":"reth_node_events::node"} +2026-03-24T07:10:52.877161301Z {"timestamp":"2026-03-24T07:10:52.877092Z","level":"DEBUG","fields":{"message":"publishing flashblock","payload_id":"0x034f37fb902094d6","flashblock_index":"8"},"target":"flashblocks::p2p"} +2026-03-24T07:10:52.883544851Z {"timestamp":"2026-03-24T07:10:52.883485Z","level":"INFO","fields":{"message":"Block added to canonical chain","number":27500307,"hash":"0x24e3b200b30a4035f527a22a506878edf1791a31eae441c7fc6b5e1c87af4019","peers":23,"txs":4,"gas_used":"1.68Mgas","gas_throughput":"20.75Ggas/second","gas_limit":"280.00Mgas","full":"0.6%","base_fee":"0.00Gwei","blobs":0,"excess_blobs":0,"elapsed":"81.02µs"},"target":"reth_node_events::node"}