gospice

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

README

gospice

Golang SDK for Spice.xyz

See Go Docs at pkg.go.dev/github.com/spiceai/gospice.

For full documentation visit docs.spice.xyz.

Usage

  1. Get the gospice package.
go get github.com/spiceai/gospice
  1. Create a SpiceClient passing in your API key. Get your free API key at spice.xyz.
spice := NewSpiceClient()
defer spice.Close()
  1. Initialize the SpiceClient.
if err := spice.Init("API Key"); err != nil {
    panic(fmt.Errorf("error initializing SpiceClient: %w", err))
}
  1. Execute a query and get back an Apache Arrow Reader.
    reader, err := spice.Query(context.Background(), "SELECT * FROM eth.recent_blocks ORDER BY number LIMIT 10")
    if err != nil {
        panic(fmt.Errorf("error querying: %w", err))
    }
    defer reader.Release()
  1. Iterate through the reader to access the records.
    for reader.Next() {
        record := reader.Record()
        defer record.Release()
        fmt.Println(record)
    }

Example

Run go run . to execute a sample query and print the results to the console.

See client_test.go for examples on querying Ethereum and Polygon blocks.

Documentation

Index

Constants

View Source
const (
	MAX_MESSAGE_SIZE_BYTES = 100 * 1024 * 1024
)

Variables

This section is empty.

Functions

This section is empty.

Types

type SpiceClient

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

SpiceClient is a client for Spice.xyz - Data and AI infrastructure for web3 https://spice.xyz For documentation visit https://docs.spice.xyz/sdks/go-sdk

func NewSpiceClient

func NewSpiceClient() *SpiceClient

NewSpiceClient creates a new SpiceClient

func NewSpiceClientWithAddress

func NewSpiceClientWithAddress(address string) *SpiceClient

func (*SpiceClient) Close

func (c *SpiceClient) Close() error

Close closes the SpiceClient and cleans up resources

func (*SpiceClient) Init

func (c *SpiceClient) Init(apiKey string) error

Init initializes the SpiceClient

func (*SpiceClient) Query

func (c *SpiceClient) Query(ctx context.Context, query string) (array.RecordReader, error)

Query executes a query against Spice.xyz and returns a Apache Arrow RecordReader For more information on Apache Arrow RecordReader visit https://godoc.org/github.com/apache/arrow/go/arrow/array#RecordReader

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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