pub trait HeaderBackend<Block: BlockT>: Send + Sync {
    fn header(&self, id: BlockId<Block>) -> Result<Option<Block::Header>>;
fn info(&self) -> Info<Block>;
fn status(&self, id: BlockId<Block>) -> Result<BlockStatus>;
fn number(
        &self,
        hash: Block::Hash
    ) -> Result<Option<<<Block as BlockT>::Header as HeaderT>::Number>>;
fn hash(&self, number: NumberFor<Block>) -> Result<Option<Block::Hash>>; fn block_hash_from_id(
        &self,
        id: &BlockId<Block>
    ) -> Result<Option<Block::Hash>> { ... }
fn block_number_from_id(
        &self,
        id: &BlockId<Block>
    ) -> Result<Option<NumberFor<Block>>> { ... }
fn expect_header(&self, id: BlockId<Block>) -> Result<Block::Header> { ... }
fn expect_block_number_from_id(
        &self,
        id: &BlockId<Block>
    ) -> Result<NumberFor<Block>> { ... }
fn expect_block_hash_from_id(
        &self,
        id: &BlockId<Block>
    ) -> Result<Block::Hash> { ... } }
Expand description

Blockchain database header backend. Does not perform any validation.

Required methods

Get block header. Returns None if block is not found.

Get blockchain info.

Get block status.

Get block number by hash. Returns None if the header is not in the chain.

Get block hash by number. Returns None if the header is not in the chain.

Provided methods

Convert an arbitrary block ID into a block hash.

Convert an arbitrary block ID into a block hash.

Get block header. Returns UnknownBlock error if block is not found.

Convert an arbitrary block ID into a block number. Returns UnknownBlock error if block is not found.

Convert an arbitrary block ID into a block hash. Returns UnknownBlock error if block is not found.

Implementors