Rome SDK
Typisierte Solidity-Interfaces zum Aufrufen von Solana-Programmen aus EVM-Verträgen sowie das Rust-SDK hinter den Off-Chain-Services von Rome.
Das Rome SDK stellt typisierte Solidity-Interfaces bereit, um von EVM-Smart-Contracts aus mit Solana-Programmen zu interagieren. Es ist das Entwickler-Toolkit für den Aufbau von Anwendungen über Laufzeitumgebungen hinweg auf Rome.
SDKs
Rome hat SDKs für drei Zielgruppen — App-Builder (TypeScript), Contract-Entwickler (Solidity) und Infrastruktur-Betreiber (Rust).
TypeScript-SDK (@rome-protocol/sdk)
Für Dapp- und Frontend-Entwickler — das SDK, mit dem die meisten App-Builder beginnen. @rome-protocol/sdk umhüllt den Rome-Schreibpfad, sodass eine Web-App Rome-Transaktionen korrekt übermittelt: submitRomeTx (der korrekte Schreibpfad plus Gas-/Gebührenbehandlung), PDA-/ATA-Ableitung, CPI invoke / invoke_signed Encoder, Precompile-Bindungen und einen /bridge Subpfad. Installation per Repo zuerst (npm-Veröffentlichung ausstehend):
npm install github:rome-protocol/rome-sdk-ts#v0.2.1import { submitRomeTx } from '@rome-protocol/sdk';
// Sende jede Rome-EVM-Schreiboperation über den korrekten Schreibpfad ab (behandelt Gas-/Gebührenkodierung).Die öffentlichen Referenz-Apps — rome-dex und cardo — verwenden dieses SDK.
Beide Pfade, ein SDK. submitRomeTx ist der EVM-Pfad (MetaMask). Für den Solana-Pfad — eine Phantom-/Solana-Wallet, die Ihre EVM-App steuert — submitRomeTxSolanaLane bildet das Gegenstück dazu: Der Nutzer signiert eine Solana-Transaktion, und Rome führt sie als EVM-Transaktion aus seiner abgeleiteten Identität aus, ganz ohne EVM-Schlüssel. Werte fließen hinein und hinaus über buildFundLeg / buildSweepLeg als ERC-20-Wrapper (z. B. wUSDC), nicht nativ msg.value — der synthetische Absender hält im Ruhezustand nichts — und ein erstmals verwendetes synthetisches Konto wird beim ersten Gebrauch automatisch bereitgestellt. Siehe Erstelle eine App mit zwei Pfaden und EVM von Solana aus aufrufen.
Solidity-SDK (@rome-protocol/rome-solidity)
Für Solidity-Entwickler. Stellt die Precompile-Interfaces, ERC-20/SPL-Wrapper, PDA-Ableitung und CPI-Utilities bereit. Die npm-Veröffentlichung steht noch aus; heute beziehst du diese aus dem öffentlichen rome-solidity Repo (Git-Abhängigkeit oder kopierte Dateien).
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)
Für Infrastruktur-Betreiber. Ein Rust-Workspace, der Transaktionszusammenstellung, Solana-Interaktion, Gaspreisgestaltung und Blockindizierung übernimmt. Verwendet von Proxy und Hercules.
Solidity-SDK: Enthaltenes
Precompile-Interfaces
Binde ein Interface an seine Precompile-Adresse:
SPL-Token-Operationen
Verwende IHelperProgram (0xff…09) für mit User-PDA signierte SPL-Primitiven:
Auf dem Cache-Pfad liegen die entsprechenden Operationen auf ISplCached (0xff…05) und IAssociatedSplCached (0xff…06). Siehe interface.sol für alle Überladungen; ein Vertrag verwendet durchgehend einen Pfad.
PDA-Ableitung
Cross-Program-Aufruf
ERC-20 über SPL-Token
Borsh-Deserialisierung
Metaplex-Metadaten
Rust SDK: Architektur
Das Rust SDK ist ein Cargo-Workspace. Seine Kern-Crates:
rome-sdk
Kern-API: Rome Struktur, Konfiguration, Transaktionstypen (RheaTx, RemusTx, RomulusTx)
rome-evm-client
EVM-Rollup-Client, TxBuilder, ResourceFactory, Emulator-Integration
rome-solana
Solana-Tower, RPC-Client, Transaktions-Batching und -Tracking
rome-utils
RLP-, Hex-, JSON-RPC- und Authentifizierungs-Utilities
rome-obs
OpenTelemetry-Beobachtbarkeit (Traces, Metriken, Logs)
rome-meteora
Meteora-DEX-AMM-Pool-Adapter für die Gaspreisgestaltung
rome-jito-bundler
Jito-Bundle-Builder für atomare Mehrfach-Transaktionsübermittlung
Transaktionstypen
Ressourcen-Pooling
Das SDK pooled Solana-Keypairs (Payer) und Holder-Kontoinstanzen für die parallele Transaktionsübermittlung:
SDK-Roadmap
Fertig und funktionsfähig
SPL-Token-Wrapper und Precompile-Interfaces
Meteora DAMM v1 Swaps über CPI
Oracle-Gateway V1 + V2 (Pyth Pull, Switchboard V3)
System-Program-Helper, Borsh-Deserialisierung
ERC20SPL-Factory + Bridge-Verträge
Was kommt als Nächstes
Solidity deployen — deploye deinen ersten Vertrag mit dem SDK
Solana aus EVM aufrufen — verwende CPI, um mit Solana-Programmen zu interagieren
Contract-Adressen — bereitgestellte SDK-Contract-Adressen
Zuletzt aktualisiert
War das hilfreich?