关键概念
构建在 Rome Protocol 上所需的核心术语和概念。
Solana 概念
程序 — Solana 中智能合约的对应物。程序是部署在链上的无状态可执行体。Rome EVM 本身就是一个 Solana 程序。
账户 — Solana 上的所有状态都存储在账户中。每个账户都有一个所有者(程序)、余额(lamports)和数据。与以太坊不同,代码和状态存储在不同的账户中。
PDA(程序派生地址) — 由种子和程序 ID 派生出的确定性地址。PDA 允许程序在没有私钥的情况下“拥有”账户。Rome 使用 PDA 将以太坊地址映射到 Solana 账户。
CPI(跨程序调用) — 一个 Solana 程序在同一笔交易中调用另一个程序。这就是 Rome EVM 合约与 Jupiter、Kamino、SPL Token 及其他 Solana 程序交互的方式。
SPL Token — Solana 的标准代币程序。相当于以太坊上的 ERC-20。Solana 上所有同质化代币(USDC、SOL 等)都是 SPL 代币。
Token-2022 — 下一代 SPL 代币程序,支持 Transfer Hooks、Confidential Transfers 和 Permanent Delegates 等扩展功能。
Transfer Hook — Token-2022 的一种扩展,在每次代币转账时都会调用一个程序。Rome 使 EVM 智能合约能够充当转账钩子。
ATA(关联代币账户) — 针对给定钱包 + 铸币对的确定性代币账户。每个用户对其持有的每种代币都拥有一个 ATA。
Lamports — SOL 的最小单位。1 SOL = 1,000,000,000 lamports(10^9)。
计算单元(CU) — Solana 中相当于以太坊 gas 的概念。每笔交易都有一个计算预算(默认约 200K CU,最大约 1.4M CU)。操作会消耗 CU。
Rome 概念
Rome EVM 程序 — 包含 EVM 字节码解释器的 Solana 程序。按不同环境部署在特定的程序 ID 上。
链 ID — Rome 上的每个应用都会获得自己的 EVM 链 ID。这创建了相互隔离的 EVM 环境,但共享同一底层 Solana 状态。
原子执行(VmAt) — 在单笔 Solana 交易中完全执行的 EVM 交易。用于大多数操作。
迭代执行(VmIt) — 跨多笔 Solana 交易拆分执行的 EVM 交易,每一步执行约 500 条操作码。用于 BN254 pairing 等计算密集型操作。
Holder 账户 — 一个链上缓冲区,用于存储超出 Solana 1,232 字节交易大小限制的大型 EVM 交易(最高 80 KB)。由 SDK 透明管理。
StateHolder — 一个链上账户,用于在迭代执行步骤之间存储序列化的 VM 状态。
Rome Proxy — JSON-RPC 服务器(端口 9090),负责将以太坊 API 调用转换为 Solana 交易。你的 MetaMask 和 Hardhat 都连接到这里。
Hercules — 监控 Solana 上 Rome EVM 事件并生成与以太坊兼容区块数据的区块索引器。
Rhea — 将交易从 OP-Geth 转发到 Solana 的内存池桥接器(仅在 OP-Geth 模式下使用)。
支付者 — 代表 EVM 用户签名并支付 Solana 交易费用的 Solana 密钥对。由 Proxy 通过 payer 池进行管理。
代币概念
ERC20SPL — 一种 ERC-20 包装合约,用于在 Rome EVM 中表示 SPL 代币。该包装器直接从底层 SPL 代币账户读取余额——无需单独状态。
ERC20SPLFactory — 一个工厂合约,在首次跨链时为任意 SPL 代币部署 ERC20SPL 包装器。
规范代币注册表 — 将每种资产映射到单一的规范 SPL 铸币,以防止表示碎片化(例如,USDC 始终映射到 Circle 的原生 SPL 铸币)。
预编译合约
标准以太坊预编译合约 — ecrecover (0x01)、SHA-256 (0x02)、RIPEMD-160 (0x03)、identity (0x04)、BN254 ecAdd/ecMul/ecPairing (0x06-0x08)、Blake2f (0x09)。
系统程序预编译合约 (0xFF...07)— 从 Solidity 中进行 PDA 派生、base58 转换、账户创建。
CPI 预编译合约 (0xFF...08)— 从 Solidity 中进行跨程序调用。可使用以下方式调用任意 Solana 程序 invoke() 或 invoke_signed().
提取预编译合约 (0x42...16)— 将 SOL 或 SPL 代币从 EVM 提回 Solana。
交易类型
RheaTx — 一笔 rollup 上的单个 EVM 交易。最常见的类型。
RemusTx — 跨不同 rollup 的多笔 EVM 交易,按原子方式执行。若任意交易失败,全部回滚。
RomulusTx — 将 EVM 交易与原生 Solana 指令合并在一次原子操作中。最强大的类型——在一笔交易中混合 Solidity 和 Solana。
部署模式
单状态模式 — 用户直接连接到 Rome Proxy。设置更简单,延迟更低。由 Hercules 生成 EVM 区块并存储在 PostgreSQL 中。
OP-Geth 模式 — 用户连接到 OP-Geth 以获得完整的以太坊 RPC 兼容性。Rhea 将内存池桥接到 Solana。Hercules 通过 Engine API 将区块提供给 OP-Geth。
下一步
最后更新于
这有帮助吗?