Reward
On this page
The reward module supports settlement to validators.
Concepts
RewardDistributeAccount delegates to validators who will support the settlement. All delegation rewards in RewardDistributeAccount are used in settlement funds. These funds are collected in the reward module account. The collected funds are used to support their settlement.
Transitions
Begin-Block
Each abci begin block call, claim all rewards of RewardDistributeAccount. It claimed every block, and this reward is distributed to the reward module account, community pool, and reserve account. The ratio for each distribution follows the parameters. The amount collected in the reward module account is divided by expected blocks per year, and 1 block reward is sent to the fee pool and distributed to validators and delegators.
Parameters
The subspace for the reward module is reward.
// Params defines the set of params for the reward module.
type Params struct {
FeePoolRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=fee_pool_rate,json=feePoolRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"fee_pool_rate" yaml:"fee_pool_rate"`
CommunityPoolRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,2,opt,name=community_pool_rate,json=communityPoolRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"community_pool_rate" yaml:"community_pool_rate"`
ReserveRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,3,opt,name=reserve_rate,json=reserveRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"reserve_rate" yaml:"reserve_rate"`
ReserveAccount string `protobuf:"bytes,4,opt,name=reserve_account,json=reserveAccount,proto3" json:"reserve_account,omitempty"`
RewardDistributeAccount string `protobuf:"bytes,5,opt,name=reward_distribute_account,json=rewardDistributeAccount,proto3" json:"reward_distribute_account,omitempty"`
}