ethdb

package
v0.15.45 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2025 License: GPL-3.0, LGPL-3.0 Imports: 1 Imported by: 72

README

ethdb Package

This package provides database interfaces and implementations for the Lux blockchain.

Design Decision

Our ethdb.Database interface extends github.com/ethereum/go-ethereum/ethdb.Database with an additional SyncAncient() method. However, the concrete implementations (leveldb, pebble) from upstream don't implement the full ethdb.Database interface - they're lower-level implementations.

The proper way to get a full database is through the rawdb package which wraps these concrete implementations with additional functionality like ancient store support.

For now, the leveldb and pebble packages return the upstream types directly, which can be used with rawdb.NewDatabase() to get a full implementation.

Documentation

Overview

Package ethdb provides batch extensions

Package ethdb provides wrapper types for go-ethereum's ethdb interfaces

Index

Constants

View Source
const (
	IdealBatchSize = ethdb.IdealBatchSize
)

Constants

Variables

This section is empty.

Functions

func DeleteRange added in v0.15.5

func DeleteRange(b Batch, start, end []byte) error

DeleteRange attempts to delete a range if the batch supports it

Types

type AncientReader

type AncientReader = ethdb.AncientReader

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type AncientReaderOp

type AncientReaderOp = ethdb.AncientReaderOp

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type AncientStater

type AncientStater = ethdb.AncientStater

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type AncientStore

type AncientStore = ethdb.AncientStore

Closer = ethdb.Closer Snapshotter = ethdb.Snapshotter

type AncientWriteOp

type AncientWriteOp = ethdb.AncientWriteOp

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type AncientWriter

type AncientWriter = ethdb.AncientWriter

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type Batch

type Batch = ethdb.Batch

Core interfaces - use ethereum types directly as aliases

type BatchWithDeleteRange added in v0.15.5

type BatchWithDeleteRange interface {
	Batch
	DeleteRange(start, end []byte) error
}

BatchWithDeleteRange extends Batch with DeleteRange support

type Batcher

type Batcher = ethdb.Batcher

Other interfaces

type Compacter

type Compacter = ethdb.Compacter

These interfaces might be embedded in Database, not separate Writer = ethdb.Writer Stater = ethdb.Stater

type Database

type Database = ethdb.Database

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type Iteratee

type Iteratee = ethdb.Iteratee

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type Iterator

type Iterator = ethdb.Iterator

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type KeyValueReader

type KeyValueReader = ethdb.KeyValueReader

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type KeyValueStater

type KeyValueStater = ethdb.KeyValueStater

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type KeyValueStore

type KeyValueStore = ethdb.KeyValueStore

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type KeyValueWriter

type KeyValueWriter = ethdb.KeyValueWriter

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type Reader

type Reader = ethdb.Reader

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

type ResettableAncientStore

type ResettableAncientStore = ethdb.ResettableAncientStore

Type aliases for go-ethereum database interfaces These aliases allow us to use ethereum types transparently while maintaining our own package structure

Directories

Path Synopsis
Package leveldb provides a wrapper for go-ethereum's leveldb implementation
Package leveldb provides a wrapper for go-ethereum's leveldb implementation
Package memorydb provides a wrapper for go-ethereum's memorydb implementation
Package memorydb provides a wrapper for go-ethereum's memorydb implementation
Package pebble provides a wrapper for go-ethereum's pebble implementation
Package pebble provides a wrapper for go-ethereum's pebble implementation

Jump to

Keyboard shortcuts

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