Run NodesReferenceX

blockdb

Package blockdb

import "github.com/luxfi/node/x/blockdb"

Types

BlockData

BlockData defines the type for block data.

BlockHeight

BlockHeight defines the type for block heights.

Database

Database stores blockchain blocks on disk and provides methods to read and write blocks.

func New(config DatabaseConfig, log luxlog.Logger) (*Database, error)
func (s *Database) Close() error
func (s *Database) HasBlock(height BlockHeight) (bool, error)
func (s *Database) ReadBlock(height BlockHeight) (BlockData, error)
func (s *Database) WriteBlock(height BlockHeight, block BlockData) error

DatabaseConfig

DatabaseConfig contains configuration parameters for BlockDB.

func DefaultConfig() DatabaseConfig
func (c DatabaseConfig) Validate() error
func (c DatabaseConfig) WithCheckpointInterval(interval uint64) DatabaseConfig
func (c DatabaseConfig) WithDataDir(dataDir string) DatabaseConfig
func (c DatabaseConfig) WithDir(directory string) DatabaseConfig
func (c DatabaseConfig) WithIndexDir(indexDir string) DatabaseConfig
func (c DatabaseConfig) WithMaxDataFileSize(maxSize uint64) DatabaseConfig
func (c DatabaseConfig) WithMaxDataFiles(maxFiles int) DatabaseConfig
func (c DatabaseConfig) WithMinimumHeight(minHeight uint64) DatabaseConfig
func (c DatabaseConfig) WithSyncToDisk(syncToDisk bool) DatabaseConfig