Skip to main content
Example code snippets to query data related to delegating to validators from the chain.

Using gRPC

Fetch parameters such as the base and bonus proposer reward

import { ChainGrpcDistributionApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcDistributionApi = new ChainGrpcDistributionApi(endpoints.grpc)

const moduleParams = await chainGrpcDistributionApi.fetchModuleParams()

console.log(moduleParams)

Fetch the amount and denom of rewards for a delegator delagating to a specific validator

import { ChainGrpcDistributionApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcDistributionApi = new ChainGrpcDistributionApi(endpoints.grpc)

const delegatorAddress = 'inj...'
const validatorAddress = 'injvaloper...'

const delegatorRewardsFromValidator =
  await chainGrpcDistributionApi.fetchDelegatorRewardsForValidatorNoThrow({
    delegatorAddress,
    validatorAddress,
  })

console.log(delegatorRewardsFromValidator)

Fetch the amount and denom of all rewards for a delegator

import { ChainGrpcDistributionApi } from '@injectivelabs/sdk-ts'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcDistributionApi = new ChainGrpcDistributionApi(endpoints.grpc)

const delegatorAddress = 'inj...'

const totalDelegatorRewards =
  await chainGrpcDistributionApi.fetchDelegatorRewardsNoThrow(delegatorAddress)

console.log(totalDelegatorRewards)