blockdata

package
v2.1.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2018 License: ISC Imports: 20 Imported by: 0

Documentation

Index

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

func JSONFormatBlockData(data *BlockData) (*bytes.Buffer, error)

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

func UseLogger

func UseLogger(logger slog.Logger)

UseLogger uses a specified Logger to output package logging info.

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

type BlockDataSaver interface {
	Store(*BlockData, *wire.MsgBlock) error
}

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

func (*BlockDataToJSONFiles) Store

func (s *BlockDataToJSONFiles) Store(data *BlockData, _ *wire.MsgBlock) error

Store writes BlockData to a file in JSON format The file name is nameBase+height+".json".

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

func (*BlockDataToJSONStdOut) Store

func (s *BlockDataToJSONStdOut) Store(data *BlockData, _ *wire.MsgBlock) error

Store writes BlockData to stdout in JSON format

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

func (*BlockDataToSummaryStdOut) Store

Store writes BlockData to stdout as plain text summary

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

func (t *Collector) Collect() (*BlockData, *wire.MsgBlock, error)

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

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.

func (*Collector) CollectHash added in v0.7.0

func (t *Collector) CollectHash(hash *chainhash.Hash) (*BlockData, *wire.MsgBlock, error)

CollectHash collects chain data at the block with the specified hash.

type ReorgData added in v0.3.2

type ReorgData struct {
	OldChainHead   chainhash.Hash
	OldChainHeight int32
	NewChainHead   chainhash.Hash
	NewChainHeight int32
	WG             *sync.WaitGroup
}

ReorgData contains the information from a reoranization notification

Jump to

Keyboard shortcuts

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