代币互操作
单一状态模型
┌──────────────────────────────────┐
│ Rome EVM │
│ │
│ ERC-20 “rUSDC” │
│ ┌────────────────────────┐ │
│ │ balanceOf(user) │─────┼──► 直接从 SPL ATA 读取
│ │ transfer(to, amount) │─────┼──► 通过预编译执行 SPL 转账
│ │ totalSupply() │─────┼──► 读取 SPL 铸币供应量
│ └────────────────────────┘ │
│ │
└──────────────────────────────────┘
│
│ 相同的底层数据
↓
┌──────────────────────────────────┐
│ Solana │
│ │
│ SPL 代币账户(ATA) │
│ 所有者:用户的 PDA │
│ 铸币:USDC(Circle 原生) │
│ 数量:1000000(= 1 USDC) │
│ │
└──────────────────────────────────┘ERC20SPL:包装合约
ERC20SPLFactory
代币注册表
存款 / 提款流程
将 SPL 存入 → EVM
从 EVM 提取 → SPL
PDA 推导
关键模式
从 Solidity 读取 SPL 余额
通过 SPL 预编译转移代币
Gas 代币
约束
下一步
最后更新于
这有帮助吗?