For the complete documentation index, see llms.txt. This page is also available as Markdown.

为什么选择 Rome?

Rome 与其他 Solana 上 EVM 方案的不同之处——原子化 CPI 可组合性、单一共享状态,以及带有自定义 gas 代币的主权应用链。

有多个项目将 EVM 兼容性带到 Solana。Rome 采用了截然不同的路径。

核心差异化优势

1. 通过 CPI 实现原子级可组合性

Rome 是唯一一个 Solidity 合约可以在同一笔交易中调用 Solana 程序的 EVM 环境。一个 Solidity 函数可以:

// 全部在一笔原子交易中:
int256 price = IPyth(PYTH).getPrice("SOL/USD");        // 读取 Pyth 预言机
uint256 quote = IJupiter(JUPITER).getQuote(USDC, SOL);  // 获取 Jupiter 报价
IJupiter(JUPITER).swap(USDC, SOL, amount, minOut);       // 执行兑换
IKamino(KAMINO).deposit(SOL, collateralAmount);          // 向 Kamino 存入

如果任何一步失败,整个交易都会回滚。没有部分执行,也没有竞态条件。

2. 单一状态

在 Rome 上,SPL 代币及其 ERC-20 表示形式本质上是同一个底层账户。当某个 Solidity 合约转移 USDC 时,它移动的是实际的 SPL USDC——而不是一个包装后的副本。

这意味着:

  • 没有流动性碎片化 — Solana DeFi 与 EVM DeFi 共享同一流动性池

  • 没有桥接风险 — 因为根本没有桥,所以也就没有桥可被攻击利用

  • 实时可组合性 — EVM 合约可立即看到 Solana 状态变化

3. 应用主权

Rome 上的每个应用都会获得自己的 EVM 环境:

  • 自定义链 ID — 你的应用就是一条独立的链

  • 自定义 gas 代币 — 任何 SPL 代币,按 Meteora LP 池定价

  • Gas 收入 — 手续费归你的应用所有,而不是 Rome 协议

  • 完整的 EVM 工具链 — 你的用户连接 MetaMask,你的开发者使用 Hardhat

何时使用 Rome

在以下情况下使用 Rome:

  • 你希望 EVM 合约直接访问 Solana DeFi

  • 你希望在 Solana 上拥有一条使用自有 gas 代币的主权 EVM 链

  • 你正在迁移需要 Solana 速度和流动性的以太坊合约

  • 你需要跨 EVM 和 Solana 程序的原子操作

在以下情况下考虑替代方案:

  • 你只需要标准的 Solana 程序(使用原生 Solana/Anchor)

  • 你需要以太坊主网结算(使用传统 L2)

  • 你需要不依赖 EVM 执行的跨链消息传递(直接使用 Wormhole/Hyperlane)

下一步

  • 架构 — Rome EVM 如何在 Solana 内部运行

  • 快速入门 — 部署你的第一个合约

最后更新于

这有帮助吗?