chronik

package module
v0.0.0-...-6ae2954 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2025 License: MIT Imports: 15 Imported by: 0

README

This repository contains Golang client implementation for the eCash/XEC full nodes' Chronik Indexer REST api.

See https://pkg.go.dev/github.com/bvkgo/chronik for the package documentation.

Example

Following code creates a REST api Client instance using a public Chronik endpoint:

    serverURL := &url.URL{
        Scheme: "https",
        Host:   "chronik.e.cash",
        Path:   "/",
    }
    client, err := New(serverURL, http.DefaultClient)
    if err != nil {
        return err
    }
    defer client.Close()

    block, err := client.GetBlock(ctx, 799721)

Client objects provide a convenient iterator interface to process multi-page outputs:

    address := "ecash:prfhcnyqnl5cgrnmlfmms675w93ld7mvvqd0y8lz07"
    for tx := range client.GetAddressHistory(ctx, address, &err) {
        if tx.GetIsCoinbase() {
            ...
        }
        ...
    }
    if err != nil {
        return fmt.Errorf("could not get complete address history: %w", err)
    }

See TestGetMonthlyPayouts test case for a full example.

chronik/chronikpb Package

Internal package chronicpb contains autogenerated protobuf type definitions for Chronik Indexers's REST api types from the Bitcoin-ABC repository.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func New

func New(serverURL *url.URL, client *http.Client) (*Client, error)

New creates a client for chronik indexer endpoint at the server url. The http.DefaultClient will be used if the input http client is nil.

func (*Client) Close

func (c *Client) Close() error

Close releases resources and destroys the client.

func (*Client) GetAddressConfirmedTxs

func (c *Client) GetAddressConfirmedTxs(ctx context.Context, addr string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetAddressHistory

func (c *Client) GetAddressHistory(ctx context.Context, addr string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetAddressUnconfirmedTxs

func (c *Client) GetAddressUnconfirmedTxs(ctx context.Context, addr string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetAddressUtxos

func (c *Client) GetAddressUtxos(ctx context.Context, addr string) (*chronikpb.ScriptUtxos, error)

func (*Client) GetBlock

func (c *Client) GetBlock(ctx context.Context, height int64) (*chronikpb.Block, error)

func (*Client) GetBlockByHash

func (c *Client) GetBlockByHash(ctx context.Context, hash string) (*chronikpb.Block, error)

func (*Client) GetBlockHeader

func (c *Client) GetBlockHeader(ctx context.Context, height int64) (*chronikpb.BlockHeader, error)

func (*Client) GetBlockHeaderByHash

func (c *Client) GetBlockHeaderByHash(ctx context.Context, hash string) (*chronikpb.BlockHeader, error)

func (*Client) GetBlockHeaders

func (c *Client) GetBlockHeaders(ctx context.Context, start, end int64) (*chronikpb.BlockHeaders, error)

func (*Client) GetBlockTxs

func (c *Client) GetBlockTxs(ctx context.Context, height int64, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetBlockTxsByHash

func (c *Client) GetBlockTxsByHash(ctx context.Context, hash string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetBlockchainInfo

func (c *Client) GetBlockchainInfo(ctx context.Context) (*chronikpb.BlockchainInfo, error)

func (*Client) GetBlocks

func (c *Client) GetBlocks(ctx context.Context, start, end int64) (*chronikpb.Blocks, error)

func (*Client) GetChronikInfo

func (c *Client) GetChronikInfo(ctx context.Context) (*chronikpb.ChronikInfo, error)

func (*Client) GetLokadConfirmedTxs

func (c *Client) GetLokadConfirmedTxs(ctx context.Context, lokadID string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetLokadHistory

func (c *Client) GetLokadHistory(ctx context.Context, lokadID string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetLokadUnconfirmedTxs

func (c *Client) GetLokadUnconfirmedTxs(ctx context.Context, lokadID string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetLokadUtxos

func (c *Client) GetLokadUtxos(ctx context.Context, lokadID string) (*chronikpb.Utxos, error)

func (*Client) GetPluginConfirmedTxs

func (c *Client) GetPluginConfirmedTxs(ctx context.Context, pluginName string, groupHex string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetPluginHistory

func (c *Client) GetPluginHistory(ctx context.Context, pluginName string, groupHex string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetPluginUnconfirmedTxs

func (c *Client) GetPluginUnconfirmedTxs(ctx context.Context, pluginName string, groupHex string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetPluginUtxos

func (c *Client) GetPluginUtxos(ctx context.Context, pluginName string, groupHex string) (*chronikpb.Utxos, error)

func (*Client) GetRawTx

func (c *Client) GetRawTx(ctx context.Context, txid string) (*chronikpb.RawTx, error)

func (*Client) GetScriptConfirmedTxs

func (c *Client) GetScriptConfirmedTxs(ctx context.Context, scriptType string, payload []byte, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetScriptHistory

func (c *Client) GetScriptHistory(ctx context.Context, scriptType string, payload []byte, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetScriptUnconfirmedTxs

func (c *Client) GetScriptUnconfirmedTxs(ctx context.Context, scriptType string, payload []byte, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetScriptUtxos

func (c *Client) GetScriptUtxos(ctx context.Context, scriptType string, payload []byte) (*chronikpb.ScriptUtxos, error)

func (*Client) GetTokenConfirmedTxs

func (c *Client) GetTokenConfirmedTxs(ctx context.Context, tokenID string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetTokenHistory

func (c *Client) GetTokenHistory(ctx context.Context, tokenID string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetTokenInfo

func (c *Client) GetTokenInfo(ctx context.Context, txid string) (*chronikpb.TokenInfo, error)

func (*Client) GetTokenUnconfirmedTxs

func (c *Client) GetTokenUnconfirmedTxs(ctx context.Context, tokenID string, errp *error) iter.Seq[*chronikpb.Tx]

func (*Client) GetTokenUtxos

func (c *Client) GetTokenUtxos(ctx context.Context, tokenID string) (*chronikpb.Utxos, error)

func (*Client) GetTx

func (c *Client) GetTx(ctx context.Context, txid string) (*chronikpb.Tx, error)

func (*Client) SetPageSize

func (c *Client) SetPageSize(size int)

SetPageSize adjusts number of transactions read per page.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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