Documentation ¶
Index ¶
- Constants
- func DisableLog()
- func InitWiredDB(dbInfo *DBInfo, statusC chan uint32, cl *hcrpcclient.Client, ...) (wiredDB, func() error, error)
- func NewWiredDB(db *sql.DB, statusC chan uint32, cl *hcrpcclient.Client, p *chaincfg.Params) (wiredDB, func() error)
- func UseLogger(logger btclog.Logger)
- type BlockSummaryDatabaser
- type ChainMonitor
- type DB
- func (db *DB) GetBestBlockHash() string
- func (db *DB) GetBestBlockHeight() int64
- func (db *DB) GetBlockSummaryHeight() int64
- func (db *DB) GetStakeInfoHeight() int64
- func (db *DB) RetrieveBestBlockHash() (string, error)
- func (db *DB) RetrieveBestBlockHeight() (int64, error)
- func (db *DB) RetrieveBlockHash(ind int64) (string, error)
- func (db *DB) RetrieveBlockHeight(hash string) (int64, error)
- func (db *DB) RetrieveBlockSizeRange(ind0, ind1 int64) ([]int32, error)
- func (db *DB) RetrieveBlockSummary(ind int64) (*apitypes.BlockDataBasic, error)
- func (db *DB) RetrieveBlockSummaryByHash(hash string) (*apitypes.BlockDataBasic, error)
- func (db *DB) RetrieveLatestBlockSummary() (*apitypes.BlockDataBasic, error)
- func (db *DB) RetrieveLatestStakeInfoExtended() (*apitypes.StakeInfoExtended, error)
- func (db *DB) RetrievePoolInfo(ind int64) (*apitypes.TicketPoolInfo, error)
- func (db *DB) RetrievePoolInfoByHash(hash string) (*apitypes.TicketPoolInfo, error)
- func (db *DB) RetrievePoolInfoRange(ind0, ind1 int64) ([]apitypes.TicketPoolInfo, error)
- func (db *DB) RetrievePoolValAndSizeRange(ind0, ind1 int64) ([]float64, []float64, error)
- func (db *DB) RetrieveSDiff(ind int64) (float64, error)
- func (db *DB) RetrieveSDiffRange(ind0, ind1 int64) ([]float64, error)
- func (db *DB) RetrieveStakeInfoExtended(ind int64) (*apitypes.StakeInfoExtended, error)
- func (db *DB) StoreBlockSummary(bd *apitypes.BlockDataBasic) error
- func (db *DB) StoreStakeInfoExtended(si *apitypes.StakeInfoExtended) error
- type DBDataSaver
- type DBInfo
- type ReorgData
- type StakeInfoDatabaser
Constants ¶
const ( // TableNameSummaries is name of the table used to store block summary data TableNameSummaries = "hcdata_block_summary" // TableNameStakeInfo is name of the table used to store extended stake info TableNameStakeInfo = "hcdata_stakeinfo_extended" )
const ( // dbType is the database backend type to use // dbType = "ffldb" // 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 UseLogger is called.
func InitWiredDB ¶
func InitWiredDB(dbInfo *DBInfo, statusC chan uint32, cl *hcrpcclient.Client, p *chaincfg.Params) (wiredDB, func() error, error)
InitWiredDB creates a new wiredDB from a file containing the data for a sql.DB. The other parameters are same as those for NewWiredDB.
func NewWiredDB ¶
func NewWiredDB(db *sql.DB, statusC chan uint32, cl *hcrpcclient.Client, p *chaincfg.Params) (wiredDB, func() error)
NewWiredDB creates a new wiredDB from a *sql.DB, a node client, network parameters, and a status update channel. It calls hcsqlite.NewDB to create a new DB that wrapps the sql.DB.
Types ¶
type BlockSummaryDatabaser ¶
type BlockSummaryDatabaser interface { StoreBlockSummary(bd *apitypes.BlockDataBasic) error RetrieveBlockSummary(ind int64) (*apitypes.BlockDataBasic, error) }
BlockSummaryDatabaser is the interface for a block data saving database
type ChainMonitor ¶
type ChainMonitor struct { ConnectingLock chan struct{} DoneConnecting chan struct{} // contains filtered or unexported fields }
ChainMonitor handles change notifications from the node client
func (*ChainMonitor) BlockConnectedHandler ¶
func (p *ChainMonitor) BlockConnectedHandler()
BlockConnectedHandler handles block connected notifications, which helps deal with a chain reorganization.
func (*ChainMonitor) BlockConnectedSync ¶
func (p *ChainMonitor) BlockConnectedSync(hash *chainhash.Hash)
BlockConnectedSync is the synchronous (blocking call) handler for the newly connected block given by the hash.
func (*ChainMonitor) ReorgHandler ¶
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 ¶
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 ¶
InitDB creates a new DB instance from a DBInfo containing the name of the file used to back the underlying sql database.
func NewDB ¶
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) GetBestBlockHash ¶
GetBestBlockHash returns the hash of the best block
func (*DB) GetBestBlockHeight ¶
GetBestBlockHeight returns the height of the best block
func (*DB) GetBlockSummaryHeight ¶
GetBlockSummaryHeight returns the largest block height for which the database can provide a block summary
func (*DB) GetStakeInfoHeight ¶
GetStakeInfoHeight returns the largest block height for which the database can provide a stake info
func (*DB) RetrieveBestBlockHash ¶
RetrieveBestBlockHash returns the block hash for the best block
func (*DB) RetrieveBestBlockHeight ¶
RetrieveBestBlockHeight returns the block height for the best block
func (*DB) RetrieveBlockHash ¶
RetrieveBlockHash returns the block hash for block ind
func (*DB) RetrieveBlockHeight ¶
RetrieveBlockHeight returns the block height for blockhash hash
func (*DB) RetrieveBlockSizeRange ¶
RetrieveBlockSizeRange returns an array of block sizes for block range ind0 to ind1
func (*DB) RetrieveBlockSummary ¶
func (db *DB) RetrieveBlockSummary(ind int64) (*apitypes.BlockDataBasic, error)
RetrieveBlockSummary returns basic block data for block ind
func (*DB) RetrieveBlockSummaryByHash ¶
func (db *DB) RetrieveBlockSummaryByHash(hash string) (*apitypes.BlockDataBasic, error)
RetrieveBlockSummaryByHash returns basic block data for a block given its hash
func (*DB) RetrieveLatestBlockSummary ¶
func (db *DB) RetrieveLatestBlockSummary() (*apitypes.BlockDataBasic, error)
RetrieveLatestBlockSummary returns the block summary for the best block
func (*DB) RetrieveLatestStakeInfoExtended ¶
func (db *DB) RetrieveLatestStakeInfoExtended() (*apitypes.StakeInfoExtended, error)
RetrieveLatestStakeInfoExtended returns the extended stake info for the best block
func (*DB) RetrievePoolInfo ¶
func (db *DB) RetrievePoolInfo(ind int64) (*apitypes.TicketPoolInfo, error)
RetrievePoolInfo returns ticket pool info for block height ind
func (*DB) RetrievePoolInfoByHash ¶
func (db *DB) RetrievePoolInfoByHash(hash string) (*apitypes.TicketPoolInfo, error)
RetrievePoolInfoByHash returns ticket pool info for blockhash hash
func (*DB) RetrievePoolInfoRange ¶
func (db *DB) RetrievePoolInfoRange(ind0, ind1 int64) ([]apitypes.TicketPoolInfo, error)
RetrievePoolInfoRange returns an array of apitypes.TicketPoolInfo for block range ind0 to ind1 and a non-nil error on success
func (*DB) RetrievePoolValAndSizeRange ¶
RetrievePoolValAndSizeRange returns an array each of the pool values and sizes for block range ind0 to ind1
func (*DB) RetrieveSDiff ¶
RetrieveSDiff returns the stake difficulty for block ind
func (*DB) RetrieveSDiffRange ¶
RetrieveSDiffRange returns an array of stake difficulties for block range ind0 to ind1
func (*DB) RetrieveStakeInfoExtended ¶
func (db *DB) RetrieveStakeInfoExtended(ind int64) (*apitypes.StakeInfoExtended, error)
RetrieveStakeInfoExtended returns the extended stake info for block ind
func (*DB) StoreBlockSummary ¶
func (db *DB) StoreBlockSummary(bd *apitypes.BlockDataBasic) error
StoreBlockSummary attempts to stores the block data in the database and returns an error on failure
func (*DB) StoreStakeInfoExtended ¶
func (db *DB) StoreStakeInfoExtended(si *apitypes.StakeInfoExtended) error
StoreStakeInfoExtended stores the extended stake info in the database
type DBDataSaver ¶
type DBDataSaver struct { *DB // contains filtered or unexported fields }
DBDataSaver models a DB with a channel to communicate new block height to the web interface
type ReorgData ¶
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 { StoreStakeInfoExtended(bd *apitypes.StakeInfoExtended) error RetrieveStakeInfoExtended(ind int64) (*apitypes.StakeInfoExtended, error) }
StakeInfoDatabaser is the interface for an extended stake info saving database