关键概念
在 Rome 协议上构建所需的基础术语和概念。
Solana 概念
程序 — Solana 中相当于智能合约的概念。程序是部署在链上的无状态可执行体。Rome EVM 本身就是一个 Solana 程序。
账户 — Solana 上的所有状态都存在于账户中。每个账户都有一个所有者(程序)、余额(lamports)和数据。不同于以太坊,代码和状态分别存储在不同的账户中。
PDA(程序派生地址) — 通过种子和程序 ID 派生出的确定性地址。PDA 允许程序在没有私钥的情况下“拥有”账户。Rome 使用 PDA 将以太坊地址映射到 Solana 账户。
CPI(跨程序调用) — 一个 Solana 程序在同一笔交易中调用另一个程序。Rome EVM 合约通过这种方式与 Jupiter、Kamino、SPL Token 以及其他 Solana 程序交互。
SPL 代币 — Solana 的标准代币程序。相当于以太坊上的 ERC-20。Solana 上所有同质化代币(USDC、SOL 等)都是 SPL 代币。
Token-2022 — 新一代 SPL 代币程序,包含 Transfer Hooks、Confidential Transfers 和 Permanent Delegates 等扩展。
转账钩子 — 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 配对等计算密集型操作。
持有者账户 — 用于存储大型 EVM 交易的链上缓冲区(最多 80 KB),用于处理超过 Solana 1,232 字节交易大小限制的交易。由 SDK 透明管理。
StateHolder — 在迭代执行步骤之间存储序列化 VM 状态的链上账户。
Rome 代理 — 将以太坊 API 调用转换为 Solana 交易的 JSON-RPC 服务器(端口 9090)。你的 MetaMask 和 Hardhat 都连接到这里。
Hercules — 监控 Solana 上 Rome EVM 事件并生成以太坊兼容区块数据的区块索引器。
Rhea — 在 OP-Geth 与 Solana 之间转发交易的内存池桥接层(仅在 OP-Geth 模式下使用)。
支付者 — 代表 EVM 用户签名并支付 Solana 交易的 Solana 密钥对。由 Proxy 通过 payer 池进行管理。
代币概念
ERC20SPL — 在 Rome EVM 中表示 SPL 代币的 ERC-20 包装合约。该包装器直接从底层 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 生成并存储在 PostgreSQL 中的 EVM 区块。
OP-Geth 模式 — 用户连接到 OP-Geth 以获得完整的以太坊 RPC 兼容性。Rhea 将内存池桥接到 Solana。Hercules 通过 Engine API 将区块推送给 OP-Geth。
下一步
最后更新于
这有帮助吗?