Documentation
¶
Index ¶
- func DisableLog()
- func JSONFormatBlockData(data *BlockData) (*bytes.Buffer, error)
- func NewChainMonitor(collector *Collector, savers []BlockDataSaver, reorgSavers []BlockDataSaver, ...) *chainMonitor
- func UseLogger(logger slog.Logger)
- type BlockData
- type BlockDataSaver
- type BlockDataToJSONFiles
- type BlockDataToJSONStdOut
- type BlockDataToSummaryStdOut
- type Collector
- func (t *Collector) Collect() (*BlockData, *wire.MsgBlock, error)
- func (t *Collector) CollectAPITypes(hash *chainhash.Hash) (*apitypes.BlockDataBasic, *apitypes.StakeInfoExtended)
- func (t *Collector) CollectBlockInfo(hash *chainhash.Hash) (*apitypes.BlockDataBasic, *dcrjson.FeeInfoBlock, ...)
- func (t *Collector) CollectHash(hash *chainhash.Hash) (*BlockData, *wire.MsgBlock, error)
- type ReorgData
Constants ¶
This section is empty.
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 JSONFormatBlockData ¶
JSONFormatBlockData concatenates block data results into a single JSON object with primary keys for the result type
func NewChainMonitor ¶
func NewChainMonitor(collector *Collector, savers []BlockDataSaver, reorgSavers []BlockDataSaver, quit chan struct{}, wg *sync.WaitGroup, addrs map[string]txhelpers.TxAction, blockChan chan *chainhash.Hash, recvTxBlockChan chan *txhelpers.BlockWatchedTx, reorgChan chan *ReorgData) *chainMonitor
NewChainMonitor creates a new chainMonitor
Types ¶
type BlockData ¶
type BlockData struct {
Header dcrjson.GetBlockHeaderVerboseResult
Connections int32
FeeInfo dcrjson.FeeInfoBlock
CurrentStakeDiff dcrjson.GetStakeDifficultyResult
EstStakeDiff dcrjson.EstimateStakeDiffResult
PoolInfo apitypes.TicketPoolInfo
ExtraInfo apitypes.BlockExplorerExtraInfo
PriceWindowNum int
IdxBlockInWindow int
WinningTickets []string
}
BlockData contains all the data collected by a Collector and stored by a BlockDataSaver. TODO: consider if pointers are desirable here.
func (*BlockData) ToBlockExplorerSummary ¶ added in v0.8.0
func (b *BlockData) ToBlockExplorerSummary() apitypes.BlockExplorerBasic
ToBlockExplorerSummary returns a BlockExplorerBasic
func (*BlockData) ToBlockSummary ¶
func (b *BlockData) ToBlockSummary() apitypes.BlockDataBasic
ToBlockSummary returns an apitypes.BlockDataBasic object from the blockdata
func (*BlockData) ToStakeInfoExtended ¶
func (b *BlockData) ToStakeInfoExtended() apitypes.StakeInfoExtended
ToStakeInfoExtended returns an apitypes.StakeInfoExtended object from the blockdata
func (*BlockData) ToStakeInfoExtendedEstimates ¶
func (b *BlockData) ToStakeInfoExtendedEstimates() apitypes.StakeInfoExtendedEstimates
ToStakeInfoExtendedEstimates returns an apitypes.StakeInfoExtendedEstimates object from the blockdata
type BlockDataSaver ¶
BlockDataSaver is an interface for saving/storing BlockData
type BlockDataToJSONFiles ¶
type BlockDataToJSONFiles struct {
// contains filtered or unexported fields
}
BlockDataToJSONFiles implements BlockDataSaver interface for JSON output to the file system
type BlockDataToJSONStdOut ¶
type BlockDataToJSONStdOut struct {
// contains filtered or unexported fields
}
BlockDataToJSONStdOut implements BlockDataSaver interface for JSON output to stdout
func NewBlockDataToJSONStdOut ¶
func NewBlockDataToJSONStdOut(m ...*sync.Mutex) *BlockDataToJSONStdOut
NewBlockDataToJSONStdOut creates a new BlockDataToJSONStdOut with optional existing mutex
type BlockDataToSummaryStdOut ¶
type BlockDataToSummaryStdOut struct {
// contains filtered or unexported fields
}
BlockDataToSummaryStdOut implements BlockDataSaver interface for plain text summary to stdout
func NewBlockDataToSummaryStdOut ¶
func NewBlockDataToSummaryStdOut(sdiffWinSize int64, m ...*sync.Mutex) *BlockDataToSummaryStdOut
NewBlockDataToSummaryStdOut creates a new BlockDataToSummaryStdOut with optional existing mutex
type Collector ¶ added in v0.7.0
type Collector struct {
// contains filtered or unexported fields
}
Collector models a structure for the source of the blockdata
func NewCollector ¶ added in v0.7.0
func NewCollector(dcrdChainSvr *rpcclient.Client, params *chaincfg.Params, stakeDB *stakedb.StakeDatabase) *Collector
NewCollector creates a new Collector.
func (*Collector) Collect ¶ added in v0.7.0
Collect collects chain data at the current best block.
func (*Collector) CollectAPITypes ¶ added in v0.7.0
func (t *Collector) CollectAPITypes(hash *chainhash.Hash) (*apitypes.BlockDataBasic, *apitypes.StakeInfoExtended)
CollectAPITypes uses CollectBlockInfo to collect block data, then organizes it into the BlockDataBasic and StakeInfoExtended and dcrdataapi types.
func (*Collector) CollectBlockInfo ¶ added in v0.7.0
func (t *Collector) CollectBlockInfo(hash *chainhash.Hash) (*apitypes.BlockDataBasic, *dcrjson.FeeInfoBlock, *dcrjson.GetBlockHeaderVerboseResult, *apitypes.BlockExplorerExtraInfo, *wire.MsgBlock, error)
CollectBlockInfo uses the chain server and the stake DB to collect most of the block data required by Collect() that is specific to the block with the given hash.
Source Files
¶
- blockdata.go
- chainmonitor.go
- datasaver.go
- log.go