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

Rome SDK

Типизированные интерфейсы Solidity для вызова программ Solana из EVM-контрактов, а также Rust SDK, лежащий в основе внецепочечных сервисов Rome.

SDK Rome предоставляет типизированные интерфейсы Solidity для взаимодействия с программами Solana из смарт-контрактов EVM. Это набор инструментов разработчика для создания приложений с кросс-рантайм-архитектурой на Rome.

SDK

У Rome есть SDK для трех аудиторий — разработчиков приложений (TypeScript), разработчиков контрактов (Solidity) и инфраструктурных операторов (Rust).

SDK на TypeScript (@rome-protocol/sdk)

Для разработчиков dapp и frontend — SDK, с которого чаще всего начинают разработчики приложений. @rome-protocol/sdk оборачивает путь записи Rome, чтобы веб-приложение корректно отправляло транзакции Rome: submitRomeTx (корректный путь записи плюс обработка газа/комиссии), вывод PDA / ATA, CPI invoke / invoke_signed кодировщики, привязки precompile и /bridge подпуть. Установка из репозитория (публикация в npm ожидается):

npm install github:rome-protocol/rome-sdk-ts#v0.2.1
import { submitRomeTx } from '@rome-protocol/sdk';
// Отправка любой записи EVM Rome через корректный путь записи (обрабатывает кодирование газа/комиссии).

Публичные эталонные приложения — rome-dex и cardo — используют этот SDK.

Обе линии — один SDK. submitRomeTx — это линия EVM (MetaMask). Для линии Solana — кошелек Phantom/Solana, управляющий вашим приложением EVM — submitRomeTxSolanaLane повторяет это: пользователь подписывает транзакцию Solana, а Rome выполняет ее как транзакцию EVM от его производной идентичности, без ключа EVM. Средства перемещаются внутрь и наружу через buildFundLeg / buildSweepLeg как обертка ERC-20 (например, wUSDC), а не нативный msg.value — синтетический отправитель ничего не хранит в состоянии покоя — и первый синтетический автоматически создается при первом использовании. См. Создайте приложение с двумя линиями и Вызывайте EVM из Solana.

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

Для разработчиков Solidity. Предоставляет интерфейсы precompile, обертки 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, ценообразованием газа и индексированием блоков. Используется Proxy и Hercules.

Solidity SDK: что входит

Интерфейсы precompile

Привяжите интерфейс к его precompile-адресу:

Операции с токенами SPL

Используйте IHelperProgram (0xff…09) для примитивов SPL, подписанных user-PDA:

На кэшированном треке эквивалентные операции находятся в ISplCached (0xff…05) и IAssociatedSplCached (0xff…06). См. interface.sol для всех перегрузок; контракт последовательно использует один трек.

Вывод PDA

Вызов между программами

ERC-20 поверх токенов SPL

Десериализация Borsh

Метаданные Metaplex

Rust SDK: архитектура

Rust SDK — это рабочее пространство Cargo. Его основные crates:

Crate
Назначение

rome-sdk

Основной API: Rome структура, конфигурация, типы транзакций (RheaTx, RemusTx, RomulusTx)

rome-evm-client

клиент rollup EVM, TxBuilder, ResourceFactory, интеграция с эмулятором

rome-solana

Solana tower, RPC-клиент, пакетирование и отслеживание транзакций

rome-utils

утилиты RLP, hex, JSON-RPC, аутентификации

rome-obs

наблюдаемость OpenTelemetry (трейсы, метрики, логи)

rome-meteora

адаптеры пулов AMM Meteora DEX для ценообразования газа

rome-jito-bundler

сборщик bundle Jito для атомарной отправки нескольких транзакций

Типы транзакций

Пулинг ресурсов

SDK объединяет пары ключей Solana (payer) и индексы аккаунтов-хранителей для параллельной отправки транзакций:

Дорожная карта SDK

Реализовано и работает

  • Обертки токенов SPL и интерфейсы precompile

  • Обмены Meteora DAMM v1 через CPI

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

  • Вспомогательные функции System Program, десериализация Borsh

  • Фабрика ERC20SPL и bridge-контракты

Что дальше

Последнее обновление

Это было полезно?