Documentation
¶
Index ¶
- Constants
- Variables
- func BlockBlobIndexKey(blockNumber uint64) []byte
- func BlockBlobKey(slot uint64, hash []byte) []byte
- func BlockBlobKeyHashHex(slot uint64, hashHex string) ([]byte, error)
- func BlockBlobMetadataKey(baseKey []byte) []byte
- func BlockDeleteTxn(txn *Txn, block Block) error
- func UtxoBlobKey(txId []byte, outputIdx uint32) []byte
- type Block
- func BlockBeforeSlot(db *Database, slotNumber uint64) (Block, error)
- func BlockBeforeSlotTxn(txn *Txn, slotNumber uint64) (Block, error)
- func BlockByPoint(db *Database, point ocommon.Point) (Block, error)
- func BlockByPointTxn(txn *Txn, point ocommon.Point) (Block, error)
- func BlocksAfterSlotTxn(txn *Txn, slotNumber uint64) ([]Block, error)
- func BlocksRecent(db *Database, count int) ([]Block, error)
- func BlocksRecentTxn(txn *Txn, count int) ([]Block, error)
- type BlockBlobMetadata
- type CommitTimestampError
- type Database
- func (d *Database) ApplyPParamUpdates(slot, epoch uint64, era uint, currentPParams *lcommon.ProtocolParameters, ...) error
- func (d *Database) Blob() blob.BlobStore
- func (d *Database) BlobTxn(readWrite bool) *Txn
- func (d *Database) BlockByIndex(blockIndex uint64, txn *Txn) (Block, error)
- func (d *Database) BlockCreate(block Block, txn *Txn) error
- func (d *Database) Close() error
- func (d *Database) DataDir() string
- func (d *Database) GetEpochLatest(txn *Txn) (Epoch, error)
- func (d *Database) GetEpochsByEra(eraId uint, txn *Txn) ([]Epoch, error)
- func (d *Database) GetPParams(epoch uint64, decodeFunc func([]byte) (lcommon.ProtocolParameters, error), ...) (lcommon.ProtocolParameters, error)
- func (d *Database) GetPoolRegistrations(poolKeyHash lcommon.PoolKeyHash, txn *Txn) ([]lcommon.PoolRegistrationCertificate, error)
- func (d *Database) GetStakeRegistrations(stakingKey []byte, txn *Txn) ([]lcommon.StakeRegistrationCertificate, error)
- func (d *Database) GetTip(txn *Txn) (ochainsync.Tip, error)
- func (d *Database) Logger() *slog.Logger
- func (d *Database) Metadata() metadata.MetadataStore
- func (d *Database) MetadataTxn(readWrite bool) *Txn
- func (d *Database) NewUtxo(txId []byte, outputIdx uint32, slot uint64, paymentKey, stakeKey, cbor []byte, ...) error
- func (d *Database) SetEpoch(slot, epoch uint64, nonce []byte, era, slotLength, lengthInSlots uint, ...) error
- func (d *Database) SetPParamUpdate(genesis, params []byte, slot, epoch uint64, txn *Txn) error
- func (d *Database) SetPParams(params []byte, slot, epoch uint64, era uint, txn *Txn) error
- func (d *Database) SetPoolRegistration(cert *lcommon.PoolRegistrationCertificate, slot, deposit uint64, txn *Txn) error
- func (d *Database) SetPoolRetirement(cert *lcommon.PoolRetirementCertificate, slot uint64, txn *Txn) error
- func (d *Database) SetRegistration(cert *lcommon.RegistrationCertificate, slot, deposit uint64, txn *Txn) error
- func (d *Database) SetStakeDelegation(cert *lcommon.StakeDelegationCertificate, slot uint64, txn *Txn) error
- func (d *Database) SetStakeDeregistration(cert *lcommon.StakeDeregistrationCertificate, slot uint64, txn *Txn) error
- func (d *Database) SetStakeRegistration(cert *lcommon.StakeRegistrationCertificate, slot, deposit uint64, txn *Txn) error
- func (d *Database) SetTip(tip ochainsync.Tip, txn *Txn) error
- func (d *Database) Transaction(readWrite bool) *Txn
- func (d *Database) UtxoByRef(txId []byte, outputIdx uint32, txn *Txn) (Utxo, error)
- func (d *Database) UtxoConsume(utxoId ledger.TransactionInput, slot uint64, txn *Txn) error
- func (d *Database) UtxosByAddress(addr ledger.Address, txn *Txn) ([]Utxo, error)
- func (d *Database) UtxosDeleteConsumed(slot uint64, txn *Txn) error
- func (d *Database) UtxosDeleteRolledback(slot uint64, txn *Txn) error
- func (d *Database) UtxosUnspend(slot uint64, txn *Txn) error
- type Epoch
- type Txn
- type Utxo
Constants ¶
const (
BlockInitialIndex uint64 = 1
)
Variables ¶
var ErrBlockNotFound = errors.New("block not found")
Functions ¶
func BlockBlobIndexKey ¶ added in v0.4.5
func BlockBlobKey ¶ added in v0.4.2
func BlockBlobKeyHashHex ¶ added in v0.4.2
func BlockBlobMetadataKey ¶ added in v0.4.2
func BlockDeleteTxn ¶ added in v0.4.2
func UtxoBlobKey ¶ added in v0.4.2
Types ¶
type Block ¶ added in v0.4.2
type Block struct { ID uint64 Slot uint64 Number uint64 Hash []byte Type uint PrevHash []byte Nonce []byte Cbor []byte }
func BlockBeforeSlot ¶ added in v0.4.2
func BlockBeforeSlotTxn ¶ added in v0.4.2
func BlockByPoint ¶ added in v0.4.2
func BlockByPointTxn ¶ added in v0.4.2
func BlocksAfterSlotTxn ¶ added in v0.4.2
type BlockBlobMetadata ¶ added in v0.4.2
type CommitTimestampError ¶
CommitTimestampError contains the timestamps of the metadata and blob stores
func (CommitTimestampError) Error ¶
func (e CommitTimestampError) Error() string
Error returns the stringified error
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
Database represents our data storage services
func New ¶ added in v0.4.3
New creates a new database instance with optional persistence using the provided data directory
func (*Database) ApplyPParamUpdates ¶ added in v0.4.4
func (*Database) BlobTxn ¶ added in v0.4.3
BlobTxn starts a new blob-only database transaction and returns a handle to it
func (*Database) BlockByIndex ¶ added in v0.4.5
func (*Database) BlockCreate ¶ added in v0.4.5
func (*Database) DataDir ¶ added in v0.4.3
DataDir returns the path to the data directory used for storage
func (*Database) GetEpochLatest ¶ added in v0.4.3
func (*Database) GetEpochsByEra ¶ added in v0.4.3
func (*Database) GetPParams ¶ added in v0.4.4
func (d *Database) GetPParams( epoch uint64, decodeFunc func([]byte) (lcommon.ProtocolParameters, error), txn *Txn, ) (lcommon.ProtocolParameters, error)
func (*Database) GetPoolRegistrations ¶ added in v0.4.3
func (d *Database) GetPoolRegistrations( poolKeyHash lcommon.PoolKeyHash, txn *Txn, ) ([]lcommon.PoolRegistrationCertificate, error)
GetPoolRegistrations returns a list of pool registration certificates
func (*Database) GetStakeRegistrations ¶ added in v0.4.3
func (d *Database) GetStakeRegistrations( stakingKey []byte, txn *Txn, ) ([]lcommon.StakeRegistrationCertificate, error)
GetStakeRegistrations returns a list of stake registration certificates
func (*Database) GetTip ¶ added in v0.4.3
func (d *Database) GetTip(txn *Txn) (ochainsync.Tip, error)
GetTip returns the current tip as represented by the protocol
func (*Database) Metadata ¶
func (d *Database) Metadata() metadata.MetadataStore
Metadata returns the underlying metadata store instance
func (*Database) MetadataTxn ¶ added in v0.4.3
MetadataTxn starts a new metadata-only database transaction and returns a handle to it
func (*Database) SetPParamUpdate ¶ added in v0.4.4
func (*Database) SetPParams ¶ added in v0.4.4
func (*Database) SetPoolRegistration ¶ added in v0.4.3
func (d *Database) SetPoolRegistration( cert *lcommon.PoolRegistrationCertificate, slot, deposit uint64, txn *Txn, ) error
SetPoolRegistration saves a pool registration certificate
func (*Database) SetPoolRetirement ¶ added in v0.4.3
func (d *Database) SetPoolRetirement( cert *lcommon.PoolRetirementCertificate, slot uint64, txn *Txn, ) error
SetPoolRetirement saves a pool retirement certificate
func (*Database) SetRegistration ¶ added in v0.5.0
func (d *Database) SetRegistration( cert *lcommon.RegistrationCertificate, slot, deposit uint64, txn *Txn, ) error
SetRegistration saves a registration certificate
func (*Database) SetStakeDelegation ¶ added in v0.4.3
func (d *Database) SetStakeDelegation( cert *lcommon.StakeDelegationCertificate, slot uint64, txn *Txn, ) error
SetStakeDelegation saves a stake delegation certificate
func (*Database) SetStakeDeregistration ¶ added in v0.4.3
func (d *Database) SetStakeDeregistration( cert *lcommon.StakeDeregistrationCertificate, slot uint64, txn *Txn, ) error
SetStakeDeregistration saves a stake deregistration certificate
func (*Database) SetStakeRegistration ¶ added in v0.4.3
func (d *Database) SetStakeRegistration( cert *lcommon.StakeRegistrationCertificate, slot, deposit uint64, txn *Txn, ) error
SetStakeRegistration saves a stake registration certificate
func (*Database) SetTip ¶ added in v0.4.3
func (d *Database) SetTip(tip ochainsync.Tip, txn *Txn) error
SetTip saves the current tip
func (*Database) Transaction ¶
Transaction starts a new database transaction and returns a handle to it
func (*Database) UtxoConsume ¶ added in v0.4.4
func (*Database) UtxosByAddress ¶ added in v0.4.3
func (*Database) UtxosDeleteConsumed ¶ added in v0.4.4
func (*Database) UtxosDeleteRolledback ¶ added in v0.4.3
type Epoch ¶ added in v0.4.3
type Txn ¶
type Txn struct {
// contains filtered or unexported fields
}
Txn is a wrapper around the transaction objects for the underlying DB engines
func NewBlobOnlyTxn ¶ added in v0.4.3
func NewMetadataOnlyTxn ¶ added in v0.4.3
type Utxo ¶ added in v0.4.2
type Utxo struct { ID uint `gorm:"primarykey"` TxId []byte `gorm:"index:tx_id_output_idx"` OutputIdx uint32 `gorm:"index:tx_id_output_idx"` AddedSlot uint64 `gorm:"index"` DeletedSlot uint64 `gorm:"index"` PaymentKey []byte `gorm:"index"` StakingKey []byte `gorm:"index"` Cbor []byte `gorm:"-"` // This is not represented in the metadata DB }