Trait sp_blockchain::HeaderBackend [−][src]
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.
fn status(&self, id: BlockId<Block>) -> Result<BlockStatus>
fn status(&self, id: BlockId<Block>) -> Result<BlockStatus>
Get block status.
Get block number by hash. 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.
fn expect_header(&self, id: BlockId<Block>) -> Result<Block::Header>
fn expect_header(&self, id: BlockId<Block>) -> Result<Block::Header>
Get block header. Returns UnknownBlock
error if block is not found.
fn expect_block_number_from_id(
&self,
id: &BlockId<Block>
) -> Result<NumberFor<Block>>
fn expect_block_number_from_id(
&self,
id: &BlockId<Block>
) -> Result<NumberFor<Block>>
Convert an arbitrary block ID into a block number. Returns UnknownBlock
error if block is not found.
fn expect_block_hash_from_id(&self, id: &BlockId<Block>) -> Result<Block::Hash>
fn expect_block_hash_from_id(&self, id: &BlockId<Block>) -> Result<Block::Hash>
Convert an arbitrary block ID into a block hash. Returns UnknownBlock
error if block is not found.