> ## Documentation Index
> Fetch the complete documentation index at: https://injectivelabs-docs-ai-sdk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Distribution

체인에서 검증인 위임 관련 데이터를 쿼리하는 예제 코드 스니펫입니다.

## gRPC 사용

### 기본 제안자 보상, 보너스 제안자 보상 등 파라미터 조회

```ts theme={null}
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcDistributionApi } from "@injectivelabs/sdk-ts/client/chain";

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

const moduleParams = await chainGrpcDistributionApi.fetchModuleParams();

console.log(moduleParams);
```

### 특정 검증인에게 위임한 위임자의 보상 금액 및 denom 조회

```ts theme={null}
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcDistributionApi } from "@injectivelabs/sdk-ts/client/chain";

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);
```

### 위임자의 모든 보상 금액 및 denom 조회

```ts theme={null}
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcDistributionApi } from "@injectivelabs/sdk-ts/client/chain";

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

const delegatorAddress = "inj...";

const totalDelegatorRewards =
  await chainGrpcDistributionApi.fetchDelegatorRewardsNoThrow(delegatorAddress);

console.log(totalDelegatorRewards);
```
