Versions in this module Expand all Collapse all v7 v7.0.0 Jun 22, 2022 Changes in this version + var ErrAncestorAtGenesis = errors.New("no ancestor: at genesis") + var ErrAncestorMaxChainLength = errors.New("no ancestor: max chain length reached") + func BuildBlockHeaderVerbose(header *wire.BlockHeader, params *chaincfg.Params, currentHeight int64, ...) *chainjson.GetBlockHeaderVerboseResult + func CommonAncestor(client BlockFetcher, hashA, hashB chainhash.Hash) (*chainhash.Hash, []chainhash.Hash, []chainhash.Hash, error) + func ConnectNodeRPC(host, user, pass, cert string, disableTLS, disableReconnect bool, ...) (*rpcclient.Client, semver.Semver, error) + func DisableLog() + func GetBlock(ind int64, client BlockFetcher) (*dcrutil.Block, *chainhash.Hash, error) + func GetBlockByHash(blockhash *chainhash.Hash, client BlockFetcher) (*dcrutil.Block, error) + func GetBlockHeaderVerbose(client BlockFetcher, idx int64) *chainjson.GetBlockHeaderVerboseResult + func GetBlockHeaderVerboseByString(client BlockFetcher, hash string) *chainjson.GetBlockHeaderVerboseResult + func GetBlockVerbose(client VerboseBlockGetter, idx int64, verboseTx bool) *chainjson.GetBlockVerboseResult + func GetBlockVerboseByHash(client VerboseBlockGetter, hash string, verboseTx bool) *chainjson.GetBlockVerboseResult + func GetChainWork(client BlockFetcher, hash *chainhash.Hash) (string, error) + func OrphanedTipLength(ctx context.Context, client BlockHashGetter, tipHeight int64, ...) (int64, error) + func SearchRawTransaction(ctx context.Context, client *rpcclient.Client, params *chaincfg.Params, ...) ([]*chainjson.SearchRawTransactionsResult, error) + func SideChainFull(client BlockFetcher, tipHash string) ([]string, error) + func SideChains(client ChainTipsGetter) ([]chainjson.GetChainTipsResult, error) + func UnconfirmedTxnsForAddress(client MempoolTxGetter, address string, params *chaincfg.Params) (*txhelpers.AddressOutpoints, int64, error) + func UseLogger(logger slog.Logger) + type AsyncTxClient struct + func NewAsyncTxClient(c *rpcclient.Client) *AsyncTxClient + func (cl *AsyncTxClient) GetRawTransactionPromise(ctx context.Context, txHash *chainhash.Hash) txhelpers.TxReceiver + func (cl *AsyncTxClient) GetRawTransactionVerbosePromise(ctx context.Context, txHash *chainhash.Hash) txhelpers.VerboseTxReceiver + type BlockFetcher interface + GetBestBlock func(ctx context.Context) (*chainhash.Hash, int64, error) + GetBlock func(ctx context.Context, blockHash *chainhash.Hash) (*wire.MsgBlock, error) + GetBlockHash func(ctx context.Context, blockHeight int64) (*chainhash.Hash, error) + GetBlockHeaderVerbose func(ctx context.Context, hash *chainhash.Hash) (*chainjson.GetBlockHeaderVerboseResult, error) + type BlockGetter interface + GetBestBlock func(ctx context.Context) (*chainhash.Hash, int64, error) + GetBlock func(ctx context.Context, blockHash *chainhash.Hash) (*wire.MsgBlock, error) + GetBlockHash func(ctx context.Context, blockHeight int64) (*chainhash.Hash, error) + type BlockHashGetter interface + GetBlockHash func(context.Context, int64) (*chainhash.Hash, error) + type BlockPrefetchClient struct + func NewBlockPrefetchClient(f BlockFetcher) *BlockPrefetchClient + func (p *BlockPrefetchClient) GetBestBlock(ctx context.Context) (*chainhash.Hash, int64, error) + func (p *BlockPrefetchClient) GetBlock(ctx context.Context, hash *chainhash.Hash) (*wire.MsgBlock, error) + func (p *BlockPrefetchClient) GetBlockData(ctx context.Context, hash *chainhash.Hash) (*wire.MsgBlock, *chainjson.GetBlockHeaderVerboseResult, error) + func (p *BlockPrefetchClient) GetBlockHash(ctx context.Context, blockHeight int64) (*chainhash.Hash, error) + func (p *BlockPrefetchClient) GetBlockHeaderVerbose(ctx context.Context, hash *chainhash.Hash) (*chainjson.GetBlockHeaderVerboseResult, error) + func (p *BlockPrefetchClient) HaveBlockHash(hash chainhash.Hash) bool + func (p *BlockPrefetchClient) HaveBlockHeight(height uint32) bool + func (p *BlockPrefetchClient) Hits() uint64 + func (p *BlockPrefetchClient) Misses() uint64 + func (p *BlockPrefetchClient) RetrieveAndStoreNext(nextHash *chainhash.Hash) + func (p *BlockPrefetchClient) Stop() + type ChainTipsGetter interface + GetChainTips func(ctx context.Context) ([]chainjson.GetChainTipsResult, error) + type MempoolAddressChecker interface + UnconfirmedTxnsForAddress func(address string) (*txhelpers.AddressOutpoints, int64, error) + func NewMempoolAddressChecker(client *rpcclient.Client, params *chaincfg.Params) MempoolAddressChecker + type MempoolGetter interface + GetRawMempoolVerbose func(ctx context.Context, txType chainjson.GetRawMempoolTxTypeCmd) (map[string]chainjson.GetRawMempoolVerboseResult, error) + type MempoolTxGetter interface + GetBestBlock func(ctx context.Context) (*chainhash.Hash, int64, error) + type VerboseBlockGetter interface + GetBlockHash func(ctx context.Context, blockHeight int64) (*chainhash.Hash, error) + GetBlockHeaderVerbose func(ctx context.Context, hash *chainhash.Hash) (*chainjson.GetBlockHeaderVerboseResult, error) + GetBlockVerbose func(ctx context.Context, blockHash *chainhash.Hash, verboseTx bool) (*chainjson.GetBlockVerboseResult, error) Other modules containing this package github.com/decred/dcrdata github.com/decred/dcrdata/rpcutils github.com/decred/dcrdata/rpcutils/v2 github.com/decred/dcrdata/rpcutils/v3 github.com/decred/dcrdata/v3 github.com/decred/dcrdata/v4 github.com/decred/dcrdata/v6