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

系统模块

Stable 的核心协议行为存在于 x/bankx/distributionx/staking 等 SDK 模块中。固定地址预编译将 Solidity 调用路由到其原生 SDK 处理程序,而无需在应用程序合约中重复协议逻辑。

三个模块

模块预编译地址用途
银行0x0000…1003 (STABLE)代币转账、余额记账、授权管理、授权合约的铸造/销毁。
分发0x0000…0801质押奖励认领、奖励查询、提款地址管理。
质押0x0000…0800委托、解除委托、重新委托、验证人查询。
系统交易0x0000…9999保证区块空间通道查询和协议发出的 EVM 事件。

上面每个页面都解释了模块的功能、何时使用以及在哪里找到其 ABI。

为什么是预编译,而不是 Solidity

原因有二:

  • 燃气效率。 预编译在协议的原生执行路径中运行。等效的 Solidity 合约将重新实现相同的逻辑,但燃气成本会显著提高。
  • 单一事实来源。 质押、分发和代币供应是协议级状态。通过预编译暴露它们可以避免维护一个可能偏离 SDK 的重复 Solidity 实现。

授权

一些预编译方法(mintburn、协议级质押操作)需要调用者授权。x/precompile 模块维护一个链上白名单,未注册合约的调用将被回滚。这使得特权操作受治理限制,同时不影响读/转账方法的通用 EVM 使用。

下一步

  • 银行模块:了解代币转账、授权以及铸造/销毁授权模型。
  • 质押模块:查看委托和验证人管理如何触达 EVM。
  • 系统交易:了解协议级事件(如解除绑定完成)如何作为 EVM 日志出现。