# Functions
NewKVStore initializes a new boltDB key-value store at the directory path specified, creates the kv-buckets based on the schema, and stores an open connection db object as a property of the Store struct.
StoreDatafilePath is the canonical construction of a full database file path from the directory path, so that code outside this package can find the full path in a consistent way.
# Constants
BeaconNodeDbDirName is the name of the directory containing the beacon node database.
DatabaseFileName is the name of the beacon node database.
NumOfValidatorEntries is the size of the validator cache entries.
ValidatorEntryMaxCost is set to ~64Mb to allow 200K validators entries to be cached.
# Variables
BlockCacheSize specifies 1000 slots worth of blocks cached, which would be approximately 2MB.
ErrDeleteJustifiedAndFinalized is raised when we attempt to delete a finalized block/state.
ErrNotFound can be used directly, or as a wrapped DBError, whenever a db method needs to indicate that a value couldn't be found.
ErrNotFoundBackfillBlockRoot is an error specifically for the origin block root getter.
ErrNotFoundFeeRecipient is a not found error specifically for the fee recipient getter.
ErrNotFoundGenesisBlockRoot means no genesis block root was found, indicating the db was not initialized with genesis.
ErrNotFoundOriginBlockRoot is an error specifically for the origin block root getter.
# Structs
Store defines an implementation of the Prysm Database interface using BoltDB as the underlying persistent kv-store for Ethereum Beacon Nodes.
# Type aliases
KVStoreOption is a functional option that modifies a kv.Store.