grpc

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

README

Kava gRPC Client

The Kava gRPC client is a tool for making gRPC queries on a Kava chain.

Features

  • Easy-to-use gRPC client for the Kava chain.
  • Access all query clients for Cosmos and Kava modules using client.Query (e.g., client.Query.Bank.Balance).
  • Utilize utility functions for common queries (e.g., client.BaseAccount(str)).

Usage

Creating a new client
package main

import (
  kavaGrpc "github.com/kava-labs/kava/client/grpc"
)
grpcUrl := "https://grpc.kava.io:443"
client, err := kavaGrpc.NewClient(grpcUrl)
if err != nil {
  panic(err)
}
Making grpc queries

Query clients for both Cosmos and Kava modules are available via client.Query.

Example: Query Cosmos module x/bank for address balance

import (
  banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
)

rsp, err := client.Query.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{
		Address: "kava19rjk5qmmwywnzfccwzyn02jywgpwjqf60afj92",
		Denom:   "ukava",
	})

Example: Query Kava module x/evmutil for params

import (
  evmutiltypes "github.com/kava-labs/kava/x/evmutil/types"
)

rsp, err := client.Query.Evmutil.Params(
  context.Background(), &evmutiltypes.QueryParamsRequest{},
)
Query Utilities

Utility functions for common queries are available directly on the client.

Example: Util query to get a base account

kavaAcc := "kava19rjk5qmmwywnzfccwzyn02jywgpwjqf60afj92"
rsp, err := client.BaseAccount(kavaAcc)
if err != nil {
  panic(err)
}
fmt.Printf("account sequence for %s: %d\n", kavaAcc, rsp.Sequence)

Query Tests

To test queries, a Kava node is required. Therefore, the e2e tests for the gRPC client queries can be found in the tests/e2e directory. Tests for new utility queries should be added as e2e tests under the test/e2e directory.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type KavaGrpcClient

type KavaGrpcClient struct {

	// Query clients for cosmos and kava modules
	Query *query.QueryClient

	// Utils for common queries (ie fetch an unpacked BaseAccount)
	*util.Util
	// contains filtered or unexported fields
}

KavaGrpcClient enables the usage of kava grpc query clients and query utils

func NewClient

func NewClient(grpcUrl string) (*KavaGrpcClient, error)

NewClient creates a new KavaGrpcClient via a grpc url

func NewClientWithConfig

func NewClientWithConfig(grpcUrl string, config KavaGrpcClientConfig) (*KavaGrpcClient, error)

NewClientWithConfig creates a new KavaGrpcClient via a grpc url and config

type KavaGrpcClientConfig

type KavaGrpcClientConfig struct {
}

KavaGrpcClientConfig is a configuration struct for a KavaGrpcClient

func NewDefaultConfig

func NewDefaultConfig() KavaGrpcClientConfig

Directories

Path Synopsis
The query package includes Cosmos and Kava gRPC query clients.
The query package includes Cosmos and Kava gRPC query clients.
The util package contains utility functions for the Kava gRPC client.
The util package contains utility functions for the Kava gRPC client.

Jump to

Keyboard shortcuts

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