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 ¶
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
func NewBlockDataToJSONFiles ¶
func NewBlockDataToJSONFiles(folder string, fileBase string, m ...*sync.Mutex) *BlockDataToJSONFiles
NewBlockDataToJSONFiles creates a new BlockDataToJSONFiles with optional existing mutex
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) 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.