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

Rome SDK

用于从 EVM 合约调用 Solana 程序的类型化 Solidity 接口,以及 Rome 离链服务背后的 Rust SDK。

Rome SDK 为与来自 EVM 智能合约的 Solana 程序交互提供了类型化的 Solidity 接口。它是用于在 Rome 上构建跨运行时应用的开发者工具包。

SDK

Rome 为三类受众提供 SDK——应用构建者(TypeScript)、合约开发者(Solidity)以及基础设施运维者(Rust)。

TypeScript SDK(@rome-protocol/sdk)

面向 dapp 和前端开发者 ——这是应用构建者最先上手的 SDK。 @rome-protocol/sdk 封装了 Rome 写入路径,使 Web 应用能够正确提交 Rome 交易: submitRomeTx (正确的写入路径以及 gas/手续费处理)、PDA / ATA 推导、CPI invoke / invoke_signed 编码器、预编译绑定,以及一个 /bridge 子路径。优先从仓库安装(npm publish 待定):

npm install github:rome-protocol/rome-sdk-ts#v0.2.1
import { submitRomeTx } from '@rome-protocol/sdk';
// 通过正确的写入路径提交任意 Rome EVM 写操作(处理 gas/手续费编码)。

公开参考应用—— rome-dexcardo ——都在使用这个 SDK。

两条通道,一个 SDK。 submitRomeTx 是 EVM 通道(MetaMask)。对于 Solana 通道 ——由 Phantom/Solana 钱包驱动你的 EVM 应用—— submitRomeTxSolanaLane 则与之对应:用户签名一笔 Solana 交易,Rome 会将其作为来自其派生身份的 EVM 交易来执行,不需要 EVM 密钥。价值通过 buildFundLeg / buildSweepLeg 作为 ERC-20 包装器(例如 wUSDC),而不是原生 msg.value ——合成发送方在静态状态下不持有任何资产——并且首次使用时会自动创建首个合成账户。参见 构建双通道应用从 Solana 调用 EVM.

Solidity SDK(@rome-protocol/rome-solidity)

面向 Solidity 开发者。 提供预编译接口、ERC-20/SPL 包装器、PDA 推导以及 CPI 工具。npm 发布尚未完成;目前你可以从公开的 rome-solidity 仓库(git 依赖或复制文件)中使用这些内容。

import {ISystemProgram, ICrossProgramInvocation, IHelperProgram, IWithdraw}
    from "@rome-protocol/rome-solidity/contracts/interface.sol";
import {SPL_ERC20} from "@rome-protocol/rome-solidity/contracts/erc20spl/erc20spl.sol";
import {RomeEVMAccount} from "@rome-protocol/rome-solidity/contracts/rome_evm_account.sol";

Rust SDK(rome-sdk)

面向基础设施运维者。 一个 Rust 工作区,负责交易组装、Solana 交互、gas 定价和区块索引。由 Proxy 和 Hercules 使用。

Solidity SDK:包含内容

预编译接口

将接口绑定到其预编译地址:

SPL 代币操作

使用 IHelperProgram (0xff…09)来实现由用户-PDA 签名的 SPL 原语:

在缓存轨道上,对应操作位于 ISplCached (0xff…05)和 IAssociatedSplCached (0xff…06)。参见 interface.sol 以了解所有重载;合约在任一轨道上保持一致使用。

PDA 推导

跨程序调用

在 SPL 代币之上的 ERC-20

Borsh 反序列化

Metaplex 元数据

Rust SDK:架构

Rust SDK 是一个 Cargo 工作区。其核心 crate:

Crate
用途

rome-sdk

核心 API: Rome struct、配置、交易类型(RheaTx、RemusTx、RomulusTx)

rome-evm-client

EVM rollup 客户端、TxBuilder、ResourceFactory、模拟器集成

rome-solana

Solana tower、RPC 客户端、交易批处理与跟踪

rome-utils

RLP、hex、JSON-RPC、认证工具

rome-obs

OpenTelemetry 可观测性(追踪、指标、日志)

rome-meteora

用于 gas 定价的 Meteora DEX AMM 池适配器

rome-jito-bundler

用于原子性多交易提交的 Jito bundle 构建器

交易类型

资源池化

该 SDK 为并行交易提交池化 Solana 密钥对(payer)和持有者账户索引:

SDK 路线图

已构建并可用

  • SPL 代币包装器和预编译接口

  • 通过 CPI 实现 Meteora DAMM v1 兑换

  • Oracle Gateway V1 + V2(Pyth Pull、Switchboard V3)

  • System Program 辅助函数、Borsh 反序列化

  • ERC20SPL 工厂 + 桥接合约

下一步

最后更新于

这有帮助吗?