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 btclog.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
          	PriceWindowNum   int
          	IdxBlockInWindow int
          }

            BlockData contains all the data collected by a Collector and stored by a BlockDataSaver. TODO: consider if pointers are desirable here.

            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(data *BlockData) 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) 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) 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

                                    func (s *BlockDataToSummaryStdOut) Store(data *BlockData) error

                                      Store writes BlockData to stdout as plain text summary

                                      type Collector

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

                                        Collector models a structure for the source of the blockdata

                                        func NewCollector

                                        func NewCollector(dcrdChainSvr *dcrrpcclient.Client, params *chaincfg.Params,
                                        	stakeDB *stakedb.StakeDatabase) *Collector

                                          NewCollector creates a new Collector.

                                          func (*Collector) Collect

                                          func (t *Collector) Collect() (*BlockData, error)

                                            Collect collects chain data at the current best block.

                                            func (*Collector) CollectAPITypes

                                            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

                                                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

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

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

                                                  type ReorgData

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

                                                    ReorgData contains the information from a reoranization notification