生产环境就绪
在从测试网切换到主网之前,请逐一完成下面的每个部分。
启动前准备
- 网络目标。 你的应用读取的是主网值,而非测试网:chain ID
988、RPChttps://rpc.stable.xyz、浏览器https://stablescan.xyz。完整配置见 连接。 - 合约已验证。 已部署的合约在 stablescan.xyz 上完成验证,以便用户和合作伙伴可以检查它们。
- 主网资金路径。 你有一套书面记录的方式,让生产钱包获取 USDT0:直接获取、通过 LayerZero 跨链或托管方。水龙头仅限测试网。
- 环境隔离。 密钥、RPC 凭据和签名路径在测试网和主网之间相互隔离。
安全检查
USDT0 的双重角色行为打破了一些从以太坊沿用而来的假设。下面每一项都应当验证。完整列表见 迁移检查清单。
偿付能力检查读取真实的原生余额,而非镜像值。// SAFE — checks real balance at the moment of transfer
function withdraw() external {
uint256 amount = credit[msg.sender];
credit[msg.sender] = 0;
require(address(this).balance >= amount, "insufficient balance");
payable(msg.sender).call{value: amount}("");
}基于授权额度的耗尽路径已被测试覆盖。 每条 approve / transferFrom / permit 路径都有一项试图耗尽合约原生余额的测试。
require(recipient != address(0), "zero address recipient");
payable(recipient).call{value: amount}("");地址重用检测不依赖于 EXTCODEHASH。 基于 permit 的授权会在不增加 nonce 的情况下改变原生余额,因此 EXTCODEHASH 可能在零哈希和空哈希之间来回波动。请改用显式跟踪。
性能与可靠性
- RPC 冗余。 生产流量有故障切换方案。第三方提供商列于 RPC 提供商。
- Gas 估算。 交易将
maxPriorityFeePerGas设为0,并根据当前的基础费用计算maxFeePerGas。参见 Gas 定价。 - 出块时间。 区块大约每 0.7 秒产生一个,并具有单槽最终性。轮询间隔和确认阈值应根据这一节奏进行调整。
- 重试。 瞬时 RPC 错误应以幂等方式重试。对于涉及资金的敏感流程,应在下游状态变更之前通过收据或日志验证交易已被打包。
运维归属
- 监控。 如果你运行自己的节点,告警会监视出块、对等节点健康状况和 RPC 延迟;参见 监控。如果你使用第三方 RPC,请跟踪提供商的 SLA 和故障切换遥测数据。
- 升级。 协议版本发布会被跟踪,以便节点运营者能够安排升级;参见 主网版本历史。
- 运行手册。 针对合约暂停、密钥轮换和 RPC 提供商切换都有回滚流程。

