blockdb

package
v1.20.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitWithPebble

func InitWithPebble(config dtypes.PebbleBlockDBConfig) error

InitWithPebble initializes the global BlockDb with a Pebble backend.

func InitWithS3

func InitWithS3(config dtypes.S3BlockDBConfig) error

InitWithS3 initializes the global BlockDb with an S3 backend.

Types

type BlockDb

type BlockDb struct {
	// contains filtered or unexported fields
}

BlockDb wraps the underlying storage engine for both beacon block data and execution data.

var GlobalBlockDb *BlockDb

GlobalBlockDb is the global singleton BlockDb instance.

func (*BlockDb) AddBlock

func (db *BlockDb) AddBlock(ctx context.Context, slot uint64, root []byte, header_ver uint64, header_data []byte, body_ver uint64, body_data []byte) (bool, error)

func (*BlockDb) AddBlockWithCallback

func (db *BlockDb) AddBlockWithCallback(ctx context.Context, slot uint64, root []byte, dataCb func() (*types.BlockData, error)) (bool, error)

func (*BlockDb) AddExecData added in v1.20.3

func (db *BlockDb) AddExecData(ctx context.Context, slot uint64, blockRoot []byte, data []byte) (int64, error)

AddExecData stores execution data for a block. Returns stored size.

func (*BlockDb) Close

func (db *BlockDb) Close() error

func (*BlockDb) DeleteExecData added in v1.20.3

func (db *BlockDb) DeleteExecData(ctx context.Context, slot uint64, blockRoot []byte) error

DeleteExecData deletes execution data for a specific block.

func (*BlockDb) GetBlock

func (db *BlockDb) GetBlock(ctx context.Context, slot uint64, root []byte, parseBlock func(uint64, []byte) (interface{}, error)) (*types.BlockData, error)

func (*BlockDb) GetEngine added in v1.20.4

func (db *BlockDb) GetEngine() types.BlockDbEngine

GetEngine returns the underlying storage engine.

func (*BlockDb) GetExecData added in v1.20.3

func (db *BlockDb) GetExecData(ctx context.Context, slot uint64, blockRoot []byte) ([]byte, error)

GetExecData retrieves full execution data for a block.

func (*BlockDb) GetExecDataRange added in v1.20.3

func (db *BlockDb) GetExecDataRange(ctx context.Context, slot uint64, blockRoot []byte, offset int64, length int64) ([]byte, error)

GetExecDataRange retrieves a byte range of execution data.

func (*BlockDb) GetExecDataTxSections added in v1.20.3

func (db *BlockDb) GetExecDataTxSections(ctx context.Context, slot uint64, blockRoot []byte, txHash []byte, sections uint32) (*types.ExecDataTxSections, error)

GetExecDataTxSections retrieves compressed section data for a single transaction. sections is a bitmask selecting which sections to return.

func (*BlockDb) HasExecData added in v1.20.3

func (db *BlockDb) HasExecData(ctx context.Context, slot uint64, blockRoot []byte) (bool, error)

HasExecData checks if execution data exists for a block.

func (*BlockDb) PruneExecDataBefore added in v1.20.3

func (db *BlockDb) PruneExecDataBefore(ctx context.Context, maxSlot uint64) (int64, error)

PruneExecDataBefore deletes execution data for all slots before maxSlot.

func (*BlockDb) SupportsExecData added in v1.20.3

func (db *BlockDb) SupportsExecData() bool

SupportsExecData returns true if the underlying engine supports execution data storage.

Directories

Path Synopsis
Package types provides the per-block execution data binary format (DXTX).
Package types provides the per-block execution data binary format (DXTX).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL