Skip to main content

概述

staking 预编译合约作为桥梁,使 Stable SDK 的 x/staking 模块功能能在 EVM 环境中使用。

目录

  1. 概念
  2. 配置
  3. 方法
  4. 事件

概念

在 Stable SDK 的 x/staking 模块中,必须在链初始化时注册绑定denomination以进行质押。 验证者和委托者只能使用绑定denomination质押代币。 在 staking 预编译合约中,会进行额外检查以确保验证者或委托者是调用者。

配置

合约地址和gas费用已预定义。

合约地址

  • 0x0000000000000000000000000000000000000800

方法

createValidator

创建一个验证者。 验证者必须以来自操作员的初始委托创建。 对于潜在的委托者,验证者应提供他们的信息和佣金率计划。 委托者可以通过公开信息和市场机制的自然调节来选择验证者委托他们自己的代币。 当验证者成功注册时,会发出 CreateValidator 事件。

输入参数

Description 是一个包含以下字段的结构: CommissionRates 是一个包含以下字段的结构: rate 应设置为市场可接受的适当值。
  • 如果验证者的佣金率较高,委托者的利润就较低。
  • 如果验证者的佣金率较低,验证者的利润就较低,这使得运营变得困难。
由于高 maxRate 会让委托者担心验证者意外设置高佣金率,因此应小心设置 maxRatemaxChangeRate 在初始化后不可更改。

输出参数

editValidator

验证者更新其信息。 验证者只能更新除了 CommissionRates 结构中不可更改字段(如 maxRatemaxChangeRate)之外的信息。 当验证者成功更新时,会发出 EditValidator 事件。

输入参数

输出参数

delegate

委托者设置要委托给验证者的代币数量。 当委托成功完成时,会发出 Delegate 事件。

输入参数

输出参数

事件

newShares 表示委托者的所有权比例。 即使委托相同数量的代币,计算出的份额也可能因时间而异。

undelegate

委托者提取委托给验证者的代币数量。 当取消委托成功完成时,会发出 Unbond 事件。

输入参数

输出参数

redelegate

委托者将委托给验证者的代币数量重新委托给另一个验证者。 当重新委托成功完成时,会发出 Redelegate 事件。

输入参数

输出参数

delegation

返回委托者和验证者之间的委托信息。 如果未找到委托,sharesbalance 将为 0

输入参数

输出参数

Coin 是一个包含以下字段的结构:

unbondingDelegation

返回委托者和验证者之间的解绑委托信息。 如果未找到解绑委托,将返回空的 UnbondingDelegationOutput

输入参数

输出参数

UnbondingDelegationOutput 是一个包含以下字段的结构: UnbondingDelegationEntry 是一个包含以下字段的结构:

validator

返回验证者信息。 如果未找到验证者,将返回空的 ValidatorOutput

输入参数

输出参数

Validator 是一个包含以下字段的结构:

validators

返回所有与状态匹配的验证者。 如果未找到验证者,将返回空的 ValidatorsOutput 状态在 x/staking 模块中声明,可以是以下之一:
  • 0 : “BOND_STATUS_UNSPECIFIED”, 未指定状态
  • 1 : “BOND_STATUS_UNBONDING”, 验证者正在解绑
  • 2 : “BOND_STATUS_UNBONDED”, 验证者已解绑
  • 3 : “BOND_STATUS_BONDED”, 验证者已绑定

输入参数

PageReq 是一个包含以下字段的结构:

输出参数

PageResp 是一个包含以下字段的结构:

redelegation

返回委托者、源验证者和目标验证者的重新委托信息。 如果未找到重新委托,将返回空的 RedelegationOutput

输入参数

输出参数

RedelegationOutput 是一个包含以下字段的结构: RedelegationEntry 是一个包含以下字段的结构:

redelegations

返回委托者、源验证者和目标验证者的所有重新委托。 如果未找到重新委托,将返回空的 RedelegationResponsePageResp

输入参数

输出参数

事件

CreateValidator

EditValidator

Delegate

Unbond

Redelegate

最后修改于 2026年3月28日