Stable 上的合约
Stable 完全兼容 EVM。Solidity、Vyper、Hardhat、Foundry、ethers.js 和 viem 都可以原样使用。一旦您将工具指向 Stable 的 RPC,现有合约就可以按原样部署。在标准 EVM 的基础上,Stable 将协议级模块(银行、分发、质押)作为预编译合约暴露在固定地址,因此您的 Solidity 可以调用质押和奖励分发,而无需重新实现它们。
您可以构建什么
- 标准应用合约 (ERC-20, ERC-721, 托管, AMM),使用任何 EVM 工具链。
- 通过 ethers.js 在 Stablescan 上已验证、已索引的合约,带有实时事件流。
- 协议集成合约,从 Solidity 调用银行/分发/质押预编译。
- 系统交易监听器,通过标准的
eth_getLogs监听协议发出的事件(例如,解除绑定完成)。
Stable 的不同之处
- USDT0 是 Gas 代币。
maxPriorityFeePerGas必须为0。原生转账中的value字段承载的是 USDT0,而不是 ETH。请参阅使用 USDT0 作为 Gas。 - USDT0 具有双重身份。 持有原生 USDT0 的合约可以通过 ERC-20
transferFrom或permit更改其余额。切勿在uint256中镜像原生余额。请参阅Stable 上的 USDT0 行为。 - 预编译地址在测试网和主网中是固定的。 将它们作为常量烧录到您的合约中。
从这里开始
- 部署:搭建 Foundry,配置 Stable,并部署 Counter。
- 验证:使用 forge verify-contract 将源代码上传到 Stablescan。
- 索引:使用 ethers.js 订阅事件并回填历史日志。
下一步建议
- 合约指南索引:合约指南、预编译参考和系统模块 ABI 的完整列表。
- 使用系统模块:从 Solidity 和 ethers.js 调用银行/分发/质押。
- JSON-RPC 参考:Stable 支持哪些
eth_*和debug_*方法。

