CLI
A user can query and interact with the distribution
module using the CLI.
Query
The query
commands allow users to query distribution
state.
Copy simd query distribution --help
commission
The commission
command allows users to query validator commission rewards by address.
Copy simd query distribution commission [address] [flags]
Example:
Copy simd query distribution commission cosmosvaloper1..
Example output:
Copy commission:
- amount: "1000000.000000000000000000"
denom: stake
community-pool
The community-pool
command allows users to query all coin balances within the community pool.
Copy simd query distribution community-pool [flags]
Example:
Copy simd query distribution community-pool
Example output:
Copy pool:
- amount: "1000000.000000000000000000"
denom: stake
params
The params
command allows users to query the parameters of the distribution
module.
Copy simd query distribution params [flags]
Example:
Copy simd query distribution params
Example output:
Copy base_proposer_reward: "0.010000000000000000"
bonus_proposer_reward: "0.040000000000000000"
community_tax: "0.020000000000000000"
withdraw_addr_enabled: true
rewards
The rewards
command allows users to query delegator rewards. Users can optionally include the validator address to query rewards earned from a specific validator.
Copy simd query distribution rewards [delegator-addr] [validator-addr] [flags]
Example:
Copy simd query distribution rewards cosmos1..
Example output:
Copy rewards:
- reward:
- amount: "1000000.000000000000000000"
denom: stake
validator_address: cosmosvaloper1..
total:
- amount: "1000000.000000000000000000"
denom: stake
slashes
The slashes
command allows users to query all slashes for a given block range.
Copy simd query distribution slashes [validator] [start-height] [end-height] [flags]
Example:
Copy simd query distribution slashes cosmosvaloper1.. 1 1000
Example output:
Copy pagination:
next_key: null
total: "0"
slashes:
- validator_period: 20,
fraction: "0.009999999999999999"
validator-outstanding-rewards
The validator-outstanding-rewards
command allows users to query all outstanding (un-withdrawn) rewards for a validator and all their delegations.
Copy simd query distribution validator-outstanding-rewards [validator] [flags]
Example:
Copy simd query distribution validator-outstanding-rewards cosmosvaloper1..
Example output:
Copy rewards:
- amount: "1000000.000000000000000000"
denom: stake
Transactions
The tx
commands allow users to interact with the distribution
module.
Copy simd tx distribution --help
fund-community-pool
The fund-community-pool
command allows users to send funds to the community pool.
Copy simd tx distribution fund-community-pool [amount] [flags]
Example:
Copy simd tx distribution fund-community-pool 100stake --from cosmos1..
set-withdraw-addr
The set-withdraw-addr
command allows users to set the withdraw address for rewards associated with a delegator address.
Copy simd tx distribution set-withdraw-addr [withdraw-addr] [flags]
Example:
Copy simd tx distribution set-withdraw-addr cosmos1.. --from cosmos1..
withdraw-all-rewards
The withdraw-all-rewards
command allows users to withdraw all rewards for a delegator.
Copy simd tx distribution withdraw-all-rewards [flags]
Example:
Copy simd tx distribution withdraw-all-rewards --from cosmos1..
withdraw-rewards
The withdraw-rewards
command allows users to withdraw all rewards from a given delegation address, and optionally withdraw validator commission if the delegation address given is a validator operator and the user proves the --commision
flag.
Copy simd tx distribution withdraw-rewards [validator-addr] [flags]
Example:
Copy simd tx distribution withdraw-rewards cosmosvaloper1.. --from cosmos1.. --commision
gRPC
A user can query the distribution
module using gRPC endpoints.
Params
The Params
endpoint allows users to query parameters of the distribution
module.
Example:
Copy grpcurl -plaintext \
localhost:9090 \
cosmos.distribution.v1beta1.Query/Params
Example output:
Copy {
"params" : {
"communityTax" : "20000000000000000" ,
"baseProposerReward" : "10000000000000000" ,
"bonusProposerReward" : "40000000000000000" ,
"withdrawAddrEnabled" : true
}
}
ValidatorOutstandingRewards
The ValidatorOutstandingRewards
endpoint allows users to query rewards of a validator address.
Example:
Copy grpcurl -plaintext \
-d '{"validator_address":"cosmosvalop1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards
Example output:
Copy {
"rewards" : {
"rewards" : [
{
"denom" : "stake" ,
"amount" : "1000000000000000"
}
]
}
}
ValidatorCommission
The ValidatorCommission
endpoint allows users to query accumulated commission for a validator.
Example:
Copy grpcurl -plaintext \
-d '{"validator_address":"cosmosvalop1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/ValidatorCommission
Example output:
Copy {
"commission" : {
"commission" : [
{
"denom" : "stake" ,
"amount" : "1000000000000000"
}
]
}
}
ValidatorSlashes
The ValidatorSlashes
endpoint allows users to query slash events of a validator.
Example:
Copy grpcurl -plaintext \
-d '{"validator_address":"cosmosvalop1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/ValidatorSlashes
Example output:
Copy {
"slashes" : [
{
"validator_period" : "20" ,
"fraction" : "0.009999999999999999"
}
] ,
"pagination" : {
"total" : "1"
}
}
DelegationRewards
The DelegationRewards
endpoint allows users to query the total rewards accrued by a delegation.
Example:
Copy grpcurl -plaintext \
-d '{"delegator_address":"cosmos1..","validator_address":"cosmosvalop1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/DelegationRewards
Example output:
Copy {
"rewards" : [
{
"denom" : "stake" ,
"amount" : "1000000000000000"
}
]
}
DelegationTotalRewards
The DelegationTotalRewards
endpoint allows users to query the total rewards accrued by each validator.
Example:
Copy grpcurl -plaintext \
-d '{"delegator_address":"cosmos1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/DelegationTotalRewards
Example output:
Copy {
"rewards" : [
{
"validatorAddress" : "cosmosvaloper1.." ,
"reward" : [
{
"denom" : "stake" ,
"amount" : "1000000000000000"
}
]
}
] ,
"total" : [
{
"denom" : "stake" ,
"amount" : "1000000000000000"
}
]
}
DelegatorValidators
The DelegatorValidators
endpoint allows users to query all validators for given delegator.
Example:
Copy grpcurl -plaintext \
-d '{"delegator_address":"cosmos1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/DelegatorValidators
Example output:
Copy {
"validators" : [
"cosmosvaloper1.."
]
}
DelegatorWithdrawAddress
The DelegatorWithdrawAddress
endpoint allows users to query the withdraw address of a delegator.
Example:
Copy grpcurl -plaintext \
-d '{"delegator_address":"cosmos1.."}' \
localhost:9090 \
cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress
Example output:
Copy {
"withdrawAddress" : "cosmos1.."
}
The CommunityPool
endpoint allows users to query the community pool coins.
Example:
Copy grpcurl -plaintext \
localhost:9090 \
cosmos.distribution.v1beta1.Query/CommunityPool
Example output:
Copy {
"pool" : [
{
"denom" : "stake" ,
"amount" : "1000000000000000000"
}
]
}