package
0.28.0
Repository: https://github.com/kava-labs/kava.git
Documentation: pkg.go.dev

# 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.

# Packages

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

# Functions

NewClient creates a new KavaGrpcClient via a grpc url.
NewClientWithConfig creates a new KavaGrpcClient via a grpc url and config.
No description provided by the author

# Structs

KavaGrpcClient enables the usage of kava grpc query clients and query utils.
KavaGrpcClientConfig is a configuration struct for a KavaGrpcClient.