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

`distribution` 모듈은 cosmos sdk [distribution 모듈](https://github.com/InjectiveLabs/cosmos-sdk/tree/master/x/distribution)에서 확장되었으며, 위임자가 검증자로부터 스테이킹 보상을 인출할 수 있게 합니다.

Distribution -> MsgWithdrawValidatorCommission

## MsgWithdrawDelegatorReward

이 메시지는 검증자로부터 사용 가능한 모든 위임자 스테이킹 보상을 인출하는 데 사용됩니다.

```ts theme={null}
import {  Network } from "@injectivelabs/networks";
import { MsgBroadcasterWithPk } from "@injectivelabs/sdk-ts/core/tx";
import { MsgWithdrawDelegatorReward } from "@injectivelabs/sdk-ts/core/modules";

const injectiveAddress = "inj1...";
const validatorAddress = "inj1...";

/* proto 형식으로 메시지 생성 */
const msg = MsgWithdrawDelegatorReward.fromJSON({
  validatorAddress,
  delegatorAddress: injectiveAddress,
});

const privateKey = "0x...";

/* 트랜잭션 브로드캐스트 */
const txHash = await new MsgBroadcasterWithPk({
  privateKey,
  network: Network.Mainnet
}).broadcast({
  msgs: msg
});

console.log(txHash);
```

## MsgWithdrawValidatorCommission

이 메시지는 검증자가 얻은 커미션을 인출하는 데 사용됩니다.

```ts theme={null}
import { Network } from "@injectivelabs/networks";
import { MsgBroadcasterWithPk } from "@injectivelabs/sdk-ts/core/tx";
import { MsgWithdrawValidatorCommission } from "@injectivelabs/sdk-ts/core/modules";

const injectiveAddress = "inj1...";
const validatorAddress = "inj1...";

/* proto 형식으로 메시지 생성 */
const msg = MsgWithdrawValidatorCommission.fromJSON({
  validatorAddress,
});

const privateKey = "0x...";

/* 트랜잭션 브로드캐스트 */
const txHash = await new MsgBroadcasterWithPk({
  privateKey,
  network: Network.Testnet
}).broadcast({
  msgs: msg
});

console.log(txHash);
```
