db

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2021 License: GPL-3.0 Imports: 12 Imported by: 185

Documentation

Overview

Package db defines the ability to create a new database for an Ethereum Beacon Node.

Index

Constants

This section is empty.

Variables

View Source
var ErrExistingGenesisState = iface.ErrExistingGenesisState

ErrExistingGenesisState is an error when the user attempts to save a different genesis state when one already exists in a database.

Functions

func NewDBFilename added in v1.3.9

func NewDBFilename(dirPath string) string

NewDBFilename uses the KVStoreDatafilePath so that if this layer of indirection between db.NewDB->kv.NewKVStore ever changes, it will be easy to remember to also change this filename indirection at the same time.

func Restore added in v1.3.3

func Restore(cliCtx *cli.Context) error

Restore a beacon chain database.

Types

type Database

type Database = iface.Database

Database defines the necessary methods for Prysm's Ethereum backend which may be implemented by any key-value or relational database in practice. This is the full database interface which should not be used often. Prefer a more restrictive interface in this package.

func NewDB

func NewDB(ctx context.Context, dirPath string, config *kv.Config) (Database, error)

NewDB initializes a new DB.

type HeadAccessDatabase added in v0.3.2

type HeadAccessDatabase = iface.HeadAccessDatabase

HeadAccessDatabase exposes Prysm's Ethereum backend for read/write access with information about chain head information. This interface should be used sparingly as the HeadFetcher is the source of truth around chain head information while this interface serves as persistent storage for the head fetcher.

See github.com/prysmaticlabs/prysm/blockchain.HeadFetcher

type NoHeadAccessDatabase added in v0.3.2

type NoHeadAccessDatabase = iface.NoHeadAccessDatabase

NoHeadAccessDatabase exposes Prysm's Ethereum data backend for read/write access, no information about head info. For head info, use github.com/prysmaticlabs/prysm/blockchain.HeadFetcher.

type ReadOnlyDatabase added in v0.3.2

type ReadOnlyDatabase = iface.ReadOnlyDatabase

ReadOnlyDatabase exposes Prysm's Ethereum data backend for read access only, no information about head info. For head info, use github.com/prysmaticlabs/prysm/blockchain.HeadFetcher.

type SlasherDatabase added in v1.3.9

type SlasherDatabase = iface.SlasherDatabase

SlasherDatabase defines necessary methods for Prysm's slasher implementation.

Directories

Path Synopsis
Package filters specifies utilities for building a set of data attribute filters to be used when filtering data through database queries in practice.
Package filters specifies utilities for building a set of data attribute filters to be used when filtering data through database queries in practice.
Package iface defines the actual database interface used by a Prysm beacon node, also containing useful, scoped interfaces such as a ReadOnlyDatabase.
Package iface defines the actual database interface used by a Prysm beacon node, also containing useful, scoped interfaces such as a ReadOnlyDatabase.
Package kafka defines an implementation of Database interface which exports streaming data using Kafka for data analysis.
Package kafka defines an implementation of Database interface which exports streaming data using Kafka for data analysis.
Package kv defines a bolt-db, key-value store implementation of the Database interface defined by a Prysm beacon node.
Package kv defines a bolt-db, key-value store implementation of the Database interface defined by a Prysm beacon node.
Package slasherkv defines a bolt-db, key-value store implementation of the slasher database interface for Prysm.
Package slasherkv defines a bolt-db, key-value store implementation of the slasher database interface for Prysm.
Package testing allows for spinning up a real bolt-db instance for unit tests throughout the Prysm repo.
Package testing allows for spinning up a real bolt-db instance for unit tests throughout the Prysm repo.

Jump to

Keyboard shortcuts

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