Distribution 模块
x/distribution 模块处理委托人 (delegator) 和验证人 (validator) 的质押奖励累积和提取。其预编译模块将此行为桥接到 EVM,因此 Solidity 合约无需直接与 Cosmos SDK 交互即可领取奖励、设置提取地址和查询未结奖励。
它公开了什么
- 设置提取地址:委托人指定哪个地址接收他们的奖励。默认情况下,奖励会进入委托人自己的地址;设置提取地址会将奖励路由到其他地方(对于合约管理的质押很有用)。
- 提取委托人奖励:一次调用即可从单个验证人那里领取所有未结奖励。
- 提取验证人佣金:验证人从委托人奖励中领取他们累积的佣金。
- 查询方法:无需交易即可读取奖励余额、佣金率和社区池状态。
授权语义
预编译模块检查调用者是否是要修改其状态的委托人(或验证人)。您不能领取他人的奖励或更改他们的提取地址。
何时使用它
- 资金库或质押聚合器按计划领取奖励:直接调用
withdrawDelegatorRewards。 - DAO 将质押奖励路由到财务地址:设置一次提取地址,然后奖励自动流动。
- 前端显示当前奖励余额:使用查询方法(无需交易)。
在哪里可以找到 ABI
完整的方法签名、输入/输出类型和发出的事件在Distribution 预编译参考中。
下一步建议
- Distribution 预编译参考:调用
withdrawDelegatorRewards,设置提取地址,并读取奖励余额。 - Staking 模块:了解委托(这些奖励的来源)的工作原理。
- 系统交易:了解解绑完成如何作为事件到达 EVM。

