Documentation ¶
Overview ¶
Package db defines the ability to create a new database for an eth2 beacon node.
Index ¶
Constants ¶
This section is empty.
Variables ¶
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
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.
Types ¶
type Database ¶
Database defines the necessary methods for Prysm's eth2 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.
type HeadAccessDatabase ¶ added in v0.3.2
type HeadAccessDatabase = iface.HeadAccessDatabase
HeadAccessDatabase exposes Prysm's eth2 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 eth2 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 eth2 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.
func NewSlasherDB ¶ added in v1.3.9
func NewSlasherDB(ctx context.Context, dirPath string, config *slasherkv.Config) (SlasherDatabase, error)
NewSlasherDB initializes a new DB for slasher.
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. |