dcrsqlite

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2017 License: ISC Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TableNameSummaries is name of the table used to store block summary data
	TableNameSummaries = "dcrdata_block_summary"
	// TableNameStakeInfo is name of the table used to store extended stake info
	TableNameStakeInfo = "dcrdata_stakeinfo_extended"
)
View Source
const (

	// DefaultStakeDbName is the default database name
	DefaultStakeDbName = "ffldb_stake"
)

Variables

This section is empty.

Functions

func DisableLog

func DisableLog()

DisableLog disables all library log output. Logging output is disabled by default until either UseLogger or SetLogWriter are called.

func InitWiredDB

func InitWiredDB(dbInfo *DBInfo, statusC chan uint32, cl *dcrrpcclient.Client, p *chaincfg.Params) (wiredDB, func() error, error)

func NewWiredDB

func NewWiredDB(db *sql.DB, statusC chan uint32, cl *dcrrpcclient.Client, p *chaincfg.Params) (wiredDB, func() error)

func UseLogger

func UseLogger(logger btclog.Logger)

UseLogger uses a specified Logger to output package logging info. This should be used in preference to SetLogWriter if the caller is also using btclog.

Types

type BlockSummaryDatabaser

type BlockSummaryDatabaser interface {
	StoreStakeInfoExtended(bd *apitypes.StakeInfoExtended) error
	RetrieveStakeInfoExtended(ind int64) (*apitypes.StakeInfoExtended, error)
}

BlockSummaryDatabaser is the interface for a block data saving database

type ChainMonitor added in v0.3.2

type ChainMonitor struct {
	// contains filtered or unexported fields
}

ChainMonitor handles change notifications from the node client

func (*ChainMonitor) BlockConnectedHandler added in v0.3.2

func (p *ChainMonitor) BlockConnectedHandler()

BlockConnectedHandler handles block connected notifications, which helps deal with a chain reorganization.

func (*ChainMonitor) ReorgHandler added in v0.3.2

func (p *ChainMonitor) ReorgHandler()

ReorgHandler receives notification of a chain reorganization and initiates a corresponding update of the SQL db keeping the main chain data.

type DB

type DB struct {
	*sql.DB
	// contains filtered or unexported fields
}

DB is a wrapper around sql.DB that adds methods for storing and retrieving chain data. Use InitDB to get a new instance. This may be unexported in the future.

func InitDB

func InitDB(dbInfo *DBInfo) (*DB, error)

InitDB creates a new DB instance from a DBInfo containing the name of the file used to back the underlying sql database.

func NewDB

func NewDB(db *sql.DB) *DB

NewDB creates a new DB instance with pre-generated sql statements from an existing sql.DB. Use InitDB to create a new DB without having a sql.DB. TODO: if this db exists, figure out best heights

func (*DB) GetBlockSummaryHeight added in v0.1.2

func (db *DB) GetBlockSummaryHeight() int64

func (*DB) GetStakeInfoHeight added in v0.1.2

func (db *DB) GetStakeInfoHeight() int64

func (*DB) RetrieveBlockSummary

func (db *DB) RetrieveBlockSummary(ind int64) (*apitypes.BlockDataBasic, error)

func (*DB) RetrieveLatestBlockSummary

func (db *DB) RetrieveLatestBlockSummary() (*apitypes.BlockDataBasic, error)

func (*DB) RetrieveLatestStakeInfoExtended

func (db *DB) RetrieveLatestStakeInfoExtended() (*apitypes.StakeInfoExtended, error)

func (*DB) RetrievePoolInfo added in v0.1.2

func (db *DB) RetrievePoolInfo(ind int64) (*apitypes.TicketPoolInfo, error)

func (*DB) RetrievePoolInfoRange added in v0.1.2

func (db *DB) RetrievePoolInfoRange(ind0, ind1 int64) ([]apitypes.TicketPoolInfo, error)

func (*DB) RetrievePoolValAndSizeRange added in v0.1.2

func (db *DB) RetrievePoolValAndSizeRange(ind0, ind1 int64) ([]float64, []float64, error)

func (*DB) RetrieveSDiff added in v0.1.2

func (db *DB) RetrieveSDiff(ind int64) (float64, error)

func (*DB) RetrieveSDiffRange added in v0.1.2

func (db *DB) RetrieveSDiffRange(ind0, ind1 int64) ([]float64, error)

func (*DB) RetrieveStakeInfoExtended

func (db *DB) RetrieveStakeInfoExtended(ind int64) (*apitypes.StakeInfoExtended, error)

func (*DB) StoreBlockSummary

func (db *DB) StoreBlockSummary(bd *apitypes.BlockDataBasic) error

func (*DB) StoreStakeInfoExtended

func (db *DB) StoreStakeInfoExtended(si *apitypes.StakeInfoExtended) error

type DBDataSaver added in v0.1.2

type DBDataSaver struct {
	*DB
	// contains filtered or unexported fields
}

func (*DBDataSaver) Store added in v0.1.2

func (db *DBDataSaver) Store(data *blockdata.BlockData) error

Store satisfies the blockdata.BlockDataSaver interface

type DBInfo

type DBInfo struct {
	FileName string
}

DBInfo contains db configuration

type ReorgData added in v0.3.2

type ReorgData struct {
	OldChainHead   chainhash.Hash
	OldChainHeight int32
	NewChainHead   chainhash.Hash
	NewChainHeight int32
}

ReorgData contains the information from a reoranization notification

type StakeInfoDatabaser

type StakeInfoDatabaser interface {
	StoreBlockSummary(bd *apitypes.BlockDataBasic) error
	RetrieveBlockSummary(ind int64) (*apitypes.BlockDataBasic, error)
}

StakeInfoDatabaser is the interface for an extended stake info saving database

Jump to

Keyboard shortcuts

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