银行模块
Stable 的 SDK 中的 x/bank 模块负责处理代币余额、转移和供应。其 EVM 接口(银行预编译合约)封装了该模块,并增加了 ERC-20 语义以及用于特权铸币/销毁操作的授权层。需要在 Stable 上转移代币的合约可以直接调用预编译合约,而无需部署自己的代币实现。
它公开了什么
银行预编译合约提供了标准的 ERC-20 方法:
transfer、balanceOf、totalSupplyapprove、transferFrom、allowance、revoke
这些方法可以由任何调用者使用。无需注册。
它还提供了特权方法:
mint: 铸造新代币并将其转移到账户。burn: 销毁账户持有的代币。multiTransfer: 在单个调用中将代币从一个发送方转移到多个接收方。
铸币和销毁需要通过治理提案将调用合约注册到 x/precompile 白名单中。治理代币的铸币被完全阻止。这使得供应膨胀仅限于授权合约。
何时使用它
- DeFi 合约需要代表用户转移 STABLE 或 USDT0:直接在预编译合约上调用
transfer或transferFrom。 - 协议合约根据业务逻辑铸造或销毁代币:首先通过治理注册,然后调用
mint/burn。 - 支付合约需要一对多支付:在单个事务中调用
multiTransfer,而不是循环转移。
在哪里可以找到 ABI
完整的方法签名、事件负载和授权流程可在银行预编译合约参考中找到。
接下来推荐
- 银行预编译合约参考:调用
transfer、approve、mint、burn,并读取事件。 - 系统模块概述:返回预编译合约公开的模块完整列表。
- USDT0 作为 gas:了解银行模块管理的双重角色资产模型。

