跳转到主要内容作为一条专注于 USDT 的稳定币区块链,Stable 旨在为用户提供无缝高效的使用体验。其中一项关键创新是:用户可以在不支付任何 Gas 费用的情况下,完成 USDT0 的转账和将其转换为 gUSDT(原生 Gas Token)的操作。
核心特性
- USDT0 免 Gas 转账:用户无需持有或消耗 Gas 代币,即可将 USDT0 转账给其他地址。
- USDT0 免 Gas 转换:用户可将 USDT0(封装的 ERC-20 风格 USDT 代币)无 Gas 费用转换为 gUSDT(原生 Gas Token),用于参与更多链上交互。
注意:为防止误操作导致资产丢失,gUSDT禁止在账户间转账,防止转入中心化交易所。
实现机制
免 Gas 的操作基于 EIP-2612 Permit 扩展,允许用户通过链下签名授权代币花费。交易的 Gas 费用由可升级的智能合约支付,该合约由 Stable DAO 管理。
免 Gas 的 USDT0 转账
基础的 USDT0 转账完全免 Gas,流程如下:
-
用户发起转账交易
用户在 Stable Wallet 发起免 Gas 的 USDT0 转账请求。
-
用户签署授权消息
前端提示用户签署一条 permit 消息,授权
GaslessTxExecutor 合约花费其 USDT0。
-
前端将签名消息发送至后端
签名消息被转发至 Stable 后端。
-
后端提交交易
后端将交易发送至
GaslessTxExecutor 合约,由 Stable 后端账户支付 Gas 费用。
-
合约调用
permit 与 transferFrom 方法
合约使用签名授权:
- 调用
permit() 执行支出权限;
- 调用
transferFrom() 完成转账。
-
USDT0 成功转入接收方账户
无需 Gas 费用,USDT0从发送方账户转移至接收方地址。
免 Gas 的 USDT0 转换
要使用 USDT0 支付 Gas,需将其转换为 gUSDT。该过程无需 Gas,流程如下:
-
用户通过前端发起解封请求
用户在 Stable Wallet 发起免 Gas 的 USDT0 转换请求。
-
用户签署授权消息
前端提示用户签署一条 permit 消息,授权
GaslessTxExecutor 合约花费其 USDT0。
-
前端将签名消息发送至后端
签名消息被转发至 Stable 后端。
-
后端提交交易
后端将交易发送至
GaslessTxExecutor 合约,由 Stable 后端账户支付 Gas 费用。
-
合约调用 USDT0 合约的
permit 方法
GaslessTxExecutor 合约使用签名授权调用 USDT0 合约的 permit()。
-
合约调用
OStableWrapper 合约的 withdrawTo() 方法
合约调用 OStableWrapper 的 withdrawTo() 方法启动转换流程。
-
Wrapper 调用
approve 和 transferFrom
OStableWrapper 合约:
- 批准自身提取用户 USDT0;
- 通过
transferFrom() 转移指定数量的 USDT0。
-
USDT0 被转入 Wrapper 合约
用户账户中的 USDT0 转入
OStableWrapper。
-
Wrapper 调用bank预编译模块铸造原生 USDT
Wrapper 调用 Stable 链的 bank预编译模块(bank precompile) 的
mint() 方法。
-
原生 USDT 转入用户账户
铸造的原生 USDT 存入用户账户,用户可立即使用该代币进行任意链上交互。
Stable 通过移除 USDT0 转账和转换的 Gas 成本,大幅简化用户体验。凭借 EIP-2612 和安全的中继设计,Stable 实现了无摩擦、无门槛的链上交互,全程由免 Gas 的基础设施支持。