Skip to content

sgns::blockchain::BlockStorage

More...

#include <block_storage.hpp>

Inherits from IComponent

Inherited by sgns::blockchain::KeyValueBlockStorage

Public Functions

Name
~BlockStorage() override =default
virtual outcome::result< primitives::BlockHash > getGenesisBlockHash() const =0
Get hash of genesis block.
virtual outcome::result< primitives::BlockHash > getLastFinalizedBlockHash() const =0
virtual outcome::result< void > setLastFinalizedBlockHash(const primitives::BlockHash & ) =0
virtual outcome::result< primitives::BlockHeader > getBlockHeader(const primitives::BlockId & id) const =0
virtual outcome::result< primitives::BlockBody > getBlockBody(const primitives::BlockId & id) const =0
virtual outcome::result< primitives::BlockData > getBlockData(const primitives::BlockId & id) const =0
virtual outcome::result< primitives::Justification > getJustification(const primitives::BlockId & block) const =0
virtual outcome::result< primitives::BlockHash > putBlockHeader(const primitives::BlockHeader & header) =0
virtual outcome::result< void > putBlockData(primitives::BlockNumber , const primitives::BlockData & block_data) =0
virtual outcome::result< primitives::BlockHash > putBlock(const primitives::Block & block) =0
virtual outcome::result< void > putJustification(const primitives::Justification & j, const primitives::BlockHash & hash, const primitives::BlockNumber & number) =0
virtual outcome::result< void > removeBlock(const primitives::BlockHash & hash, const primitives::BlockNumber & number) =0

Additional inherited members

Public Functions inherited from IComponent

Name
virtual ~IComponent() =default
virtual std::string GetName() =0

Detailed Description

class sgns::blockchain::BlockStorage;

A wrapper for a storage of blocks Provides a convenient interface to work with it

Public Functions Documentation

function ~BlockStorage

~BlockStorage() override =default

function getGenesisBlockHash

virtual outcome::result< primitives::BlockHash > getGenesisBlockHash() const =0

Get hash of genesis block.

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::getGenesisBlockHash

function getLastFinalizedBlockHash

virtual outcome::result< primitives::BlockHash > getLastFinalizedBlockHash() const =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::getLastFinalizedBlockHash

function setLastFinalizedBlockHash

virtual outcome::result< void > setLastFinalizedBlockHash(
    const primitives::BlockHash & 
) =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::setLastFinalizedBlockHash

function getBlockHeader

virtual outcome::result< primitives::BlockHeader > getBlockHeader(
    const primitives::BlockId & id
) const =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::getBlockHeader

function getBlockBody

virtual outcome::result< primitives::BlockBody > getBlockBody(
    const primitives::BlockId & id
) const =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::getBlockBody

function getBlockData

virtual outcome::result< primitives::BlockData > getBlockData(
    const primitives::BlockId & id
) const =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::getBlockData

function getJustification

virtual outcome::result< primitives::Justification > getJustification(
    const primitives::BlockId & block
) const =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::getJustification

function putBlockHeader

virtual outcome::result< primitives::BlockHash > putBlockHeader(
    const primitives::BlockHeader & header
) =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::putBlockHeader

function putBlockData

virtual outcome::result< void > putBlockData(
    primitives::BlockNumber ,
    const primitives::BlockData & block_data
) =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::putBlockData

function putBlock

virtual outcome::result< primitives::BlockHash > putBlock(
    const primitives::Block & block
) =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::putBlock

function putJustification

virtual outcome::result< void > putJustification(
    const primitives::Justification & j,
    const primitives::BlockHash & hash,
    const primitives::BlockNumber & number
) =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::putJustification

function removeBlock

virtual outcome::result< void > removeBlock(
    const primitives::BlockHash & hash,
    const primitives::BlockNumber & number
) =0

Reimplemented by: sgns::blockchain::KeyValueBlockStorage::removeBlock


Updated on 2026-03-04 at 13:10:43 -0800