KardiaChain Docs
  • Introduction
  • Technology
    • Consensus
    • Kardia Virtual Machine (KVM)
    • Kardia Smart Contract Markup Language
    • Peer to Peer (P2P)
    • Onchain AI
    • NF3 Chip
  • For Users
    • KardiaChain Proposer Validator Selection Process
    • Staking
      • Validators
      • Delegators
      • Disciplines and Rewards
        • Disciplines
        • Rewards
    • Transaction Fee
    • Wallets
      • MetaMask Compatible
      • KardiaChain Mobile App Wallet
      • [Deprecated] KardiaChain Web Wallet
        • [Deprecated] KardiaChain Wallet Extension
  • For Developers
    • Tutorials
      • Platform
        • Running KardiaChain node
        • Private KardiaChain Network
        • KAI Integration for Exchanges
      • Smart contract development
        • Dev environment
          • Solidity
          • IDE and tools
            • Remix
            • Hardhat
            • Truffle
        • Contract verification
      • KRC20 Tokens
        • Deploying KRC20 Token
        • KRC20 token verification
      • KRC721 Tokens
        • Deploy KRC721 tokens
      • Building DApp
        • Frontend
        • Data indexing service
    • SDK
      • Web3
      • [Deprecated] KardiaChain JS SDK
      • [Deprecated] KardiaChain Golang SDK
    • RPC
      • JSON RPC API
    • KardiaID Service
      • KardiaID Service Design
      • KardiaID Service API
  • Archived Docs
    • Golang SDK
    • Network
    • KVM
    • System requirement
    • Deployment
      • Configuration
      • Local
      • Public testnet
      • Mainnet
    • KSML
    • Staking Overview
      • Delegation period
      • Consensus
      • Delegator
        • What is a delegator ?
        • Choose validator
        • Directive of delegator
        • Risk
      • Proposer selection procedure
      • Staking rewards and distributions
        • Block reward distributed
        • Fee distributed
      • Slashing and Jail
      • Rewards mechanism
      • Validator
        • What is a validator ?
        • The different states a validator
        • The responsibility of validator
        • The incentive run a validator
        • To become validator
    • KardiaChain Metamask (extension) Wallet
Powered by GitBook
On this page
  • Installation
  • Initializing
  • Endpoints
  • LatestBlockNumber
  • BlockByHash
  • BlockByNumber
  • BlockHeaderByNumber
  • BlockHeaderByHash
  • GetTransaction
  • GetTransactionReceipt
  • BalanceAt
  • NonceAt
  • SendRawTransaction
  • Peers
  • NodeInfo
  • Datadir
  • Validator
  • Validators

Was this helpful?

  1. Archived Docs

Golang SDK

Old Doc

PreviousArchived DocsNextNetwork

Last updated 4 years ago

Was this helpful?

Link to Github:

Installation

go get github.com/kardiachain/go-kaiclient

Initializing

func SetupKAIClient() (*Client, context.Context, error) {
ctx, _ := context.WithCancel(context.Background())
cfg := zapdriver.NewProductionConfig()
logger, err := cfg.Build()
if err != nil {
return nil, nil, fmt.Errorf("Failed to create logger: %v", err)
}
// defer logger.Sync()
client, err := NewKaiClient("http://10.10.0.251:8551", logger)
if err != nil {
return nil, nil, fmt.Errorf("Failed to create new KaiClient: %v", err)
}
return client, ctx, nil
}

Endpoints

LatestBlockNumber

LatestBlockNumber(ctx context.Context) (uint64, error)

BlockByHash

BlockByHash(ctx context.Context, hash common.Hash) (*types.Block, error)

BlockByNumber

BlockByNumber(ctx context.Context, number uint64) (*types.Block, error)

BlockHeaderByNumber

BlockByNumber(ctx context.Context, number uint64) (*types.Block, error)

BlockHeaderByHash

BlockHeaderByHash(ctx context.Context, hash common.Hash) (*types.Header, error)

GetTransaction

GetTransaction(ctx context.Context, hash common.Hash) (tx *types.Transaction, isPending bool, err error)

GetTransactionReceipt

GetTransactionReceipt(ctx context.Context, txHash common.Hash) (*kai.PublicReceipt, error)

BalanceAt

BalanceAt(ctx context.Context, account common.Address, blockHeightOrHash interface{}) (string, error)

NonceAt

NonceAt(ctx context.Context, account common.Address) (uint64, error)

SendRawTransaction

SendRawTransaction(ctx context.Context, tx *types.Transaction) error

Peers

Peers(ctx context.Context) ([]*types.PeerInfo, error)

NodeInfo

NodesInfo(ctx context.Context) ([]*types.NodeInfo, error)

Datadir

Datadir(ctx context.Context) (string, error)

Validator

Validator(ctx context.Context, rpcURL string) (*types.Validator, error) {}

Validators

Validators(ctx context.Context) ([]*types.Validator, error)
https://github.com/kardiachain/go-kaiclient/tree/v1.0.0