Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Stake 模块

x/staking 模块控制 Stable 上的验证者参与和委托。它的预编译合约使得这些操作可以从 Solidity 调用,因此合约可以委托 STABLE、在解绑期后解除委托、在验证者之间重新委托或查询验证者状态,而无需离开 EVM。

暴露的功能

  • 创建验证者:注册一个新验证者,包括描述、佣金率和初始自我委托。
  • 编辑验证者:更新验证者元数据和佣金参数。
  • 委托:将 STABLE 质押给验证者。
  • 解除委托:开始从验证者解除绑定(代币将在解绑期后可用)。
  • 重新委托:在不解除绑定的情况下在验证者之间转移质押。
  • 取消解除委托:在解绑期完成之前取消正在进行的解除绑定。
  • 查询方法:读取验证者集合、委托记录、解除绑定记录和参数。

授权语义

预编译合约执行两个检查:

  1. 绑定面额(质押代币)必须在链初始化时注册。在 Stable 上,这是 STABLE 代币。
  2. 调用者必须与被修改状态的验证者或委托者匹配。您不能通过直接调用预编译合约来代表他人进行委托。

解绑完成

当解绑期结束时,代币变得可流通,但 SDK 会悄悄地处理此过程,EVM 不会看到直接事件。Stable 的系统交易机制弥合了这一点:一旦解绑完成,协议通过 StableSystem 预编译合约发出 UnbondingCompleted 事件,因此 dApp 可以通过标准 EVM 日志订阅。

何时使用

  • 质押协议通过保险库合约管理委托:当用户存入和取出时调用 delegateundelegate
  • 治理仪表板需要一个实时的验证者集合:使用查询方法。
  • 重质押或流动性质押产品跟踪解绑完成:订阅 UnbondingCompleted 事件(一旦该指南发布,请参见跟踪解绑完成)。

何处查找 ABI

完整的方法签名、结构定义和发出的事件在Stake 预编译合约参考中。

推荐阅读