stellarcore

package
v0.0.0-...-3597e88 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package stellarcore is a client library for communicating with an instance of stellar-core using through the server's HTTP port.

Index

Examples

Constants

View Source
const SetCursorDone = "Done"

SetCursorDone is the success message returned by stellar-core when a cursor update succeeds.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// HTTP is the client to use when communicating with stellar-core.  If nil,
	// http.DefaultClient will be used.
	HTTP HTTP

	// URL of Stellar Core server to connect.
	URL string
}

Client represents a client that is capable of communicating with a stellar-core server using HTTP

func (*Client) Info

func (c *Client) Info(ctx context.Context) (resp *InfoResponse, err error)

Info calls the `info` command on the connected stellar core and returns the provided response

Example
client := &Client{URL: "http://localhost:11626"}

info, err := client.Info(context.Background())

if err != nil {
	panic(err)
}

fmt.Printf("synced: %v", info.IsSynced())
Output:

func (*Client) SetCursor

func (c *Client) SetCursor(ctx context.Context, id string, cursor int32) error

SetCursor calls the `setcursor` command on the connected stellar core

func (*Client) WaitForNetworkSync

func (c *Client) WaitForNetworkSync(ctx context.Context) error

WaitForNetworkSync continually polls the connected stellar-core until it receives a response that indicated the node has synced with the network

type HTTP

type HTTP interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTP represents the http client that a stellarcore client uses to make http requests.

type InfoResponse

type InfoResponse struct {
	Info struct {
		Build           string `json:"build"`
		Network         string `json:"network"`
		ProtocolVersion int    `json:"protocol_version"`
		State           string `json:"state"`
	}
}

InfoResponse is the json response returned from stellar-core's /info endpoint.

func (*InfoResponse) IsSynced

func (resp *InfoResponse) IsSynced() bool

IsSynced returns a boolean indicating whether stellarcore is synced with the network.

Jump to

Keyboard shortcuts

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