reth::network::import

Trait BlockImport

pub trait BlockImport<B = Block>:
    Debug
    + Send
    + Sync {
    // Required methods
    fn on_new_block(
        &mut self,
        peer_id: FixedBytes<64>,
        incoming_block: NewBlockMessage<B>,
    );
    fn poll(&mut self, cx: &mut Context<'_>) -> Poll<BlockImportOutcome<B>>;
}
Expand description

Abstraction over block import.

Required Methods§

fn on_new_block( &mut self, peer_id: FixedBytes<64>, incoming_block: NewBlockMessage<B>, )

Invoked for a received NewBlock broadcast message from the peer.

When a NewBlock announcement message is received from a peer, the client first verifies the basic header validity of the block, checking whether the proof-of-work value is valid.

This is supposed to start verification. The results are then expected to be returned via BlockImport::poll.

fn poll(&mut self, cx: &mut Context<'_>) -> Poll<BlockImportOutcome<B>>

Returns the results of a BlockImport::on_new_block

Implementors§