Skip to main content

start_block_executor

Function start_block_executor 

Source
pub fn start_block_executor(
    blockchain: Arc<Blockchain>,
) -> UnboundedSender<(Sender<Result<Option<ExecutionWitness>, ChainError>>, Block, Option<BlockAccessList>, bool)>
Expand description

Spawns a dedicated thread for sequential block execution.

Blocks received from the consensus client via engine_newPayload are sent to this worker thread for execution. This ensures blocks are processed sequentially and prevents the async runtime from being blocked by CPU-intensive block execution.

§Returns

An unbounded channel sender for submitting blocks. Each submission includes a oneshot channel for receiving the execution result.

§Panics

Panics if the worker thread cannot be spawned.