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.1import { 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:
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-контракты
Что дальше
Развернуть Solidity — разверните свой первый контракт с помощью SDK
Вызывать Solana из EVM — используйте CPI для взаимодействия с программами Solana
Адреса контрактов — адреса развернутых контрактов SDK
Последнее обновление
Это было полезно?