Ökosystem & Repos
Jedes öffentliche Rome-Repo, was es ist und wie sie zusammenspielen — die Karte zur Navigation an der Oberfläche.
Romes öffentliche Oberfläche ist eine Sammlung von Repositories: einige Grundlagen Pakete, auf denen Sie aufbauen, ein Scaffolder, Referenz-Apps zum Lernen und zwei Dienste, die Ihre App aufruft. Diese Seite ist die Karte — was jedes Repository ist und wie sie zusammenpassen.
Zwei benachbarte Seiten beantworten unterschiedliche Fragen, und diese Seite verlinkt auf beide, statt sie zu wiederholen:
Architektur erklärt das Protokoll — wie die EVM innerhalb eines Solana-Programms läuft.
Jedes Repository enthält eine
AGENTS.md(z. B. rome-sdk-ts/AGENTS.md) die danach leitet, wovon Sie ausgehen (einem Solidity-Vertrag, einem Solana-Programm, Greenfield, von zu Hause) zum Beispiel, das Ihrem Fall am nächsten kommt.
Diese Seite ist die Ebene dazwischen: die gesamte Oberfläche und wie die Teile verbunden sind.
Die Oberfläche auf einen Blick
Grundlagen — darauf bauen Sie auf
@rome-protocol/registry — schreibgeschützte, generierte Projektion von Fakten der Live-Chain (IDs, RPC, Adressen, Token-Mints, Programm-IDs, Oracle-Feeds, ALTs).
Sie benötigen einen echten Chain-Fakt — kodieren Sie ihn niemals fest.
@rome-protocol/sdk — der TypeScript-Schreibpfad: submitRomeTx + Gebührenbemessung, beide Lanes, PDA/ATA- + CPI-Encoder, Precompile-Bindings, ein /bridge -Client.
Sie schreiben App- oder Frontend-Code.
Solidity-Precompile-Schnittstellen, SPL/ERC-20-Wrapper und Oracle-Adapter — das Toolkit für die Vertragsseite.
Sie schreiben Verträge.
Referenz-Apps — anhand von Beispielen lernen
Dual-Lane-AMM — ein nativer Solana-Pool mit einem schlanken EVM-Router.
Die andere Lane eröffnen; ein native-core -Beispiel.
Dual-Lane-Lending — ein Solidity-Comet-Kern, den Solana-Nutzer über einen synthetischen Sender erreichen.
Die andere Lane eröffnen; ein Solidity-Kern -Beispiel.
EVM-Nutzer steuern Solana-dApps (Swap/Stake/Lend/Perps) über CPI.
Eine ausgearbeitete CPI-zu-Solana-App zum Studieren.
Positionsorientiertes Cross-VM-DeFi; Nutzer erreichen es von ihrer Heimat-Chain aus.
Eine von zu Hause -App.
Aave-v3-Supply/Borrow/Repay, unverändert bereitgestellt.
Eine vollständige EVM-App, die unverändert läuft.
Contract-Forks — bekannte Protokolle, auf Rome bereitgestellt
Dienste — Ihre App ruft diese auf
Off-Chain-Orchestrator + Gebührensponsor für die On-Chain-Bridge. Hält keine Schlüssel.
Eine Wallet finanzieren oder ein Von-zu-Hause-Ablauf.
Solana-Preisfeeds (Pyth, Switchboard), die über das Chainlink- AggregatorV3Interface.
Sie benötigen einen Preisfeed.
Scaffold — hier beginnen
npx github:rome-protocol/create-rome-app — erstellt das Gerüst einer Dual-Lane-App, bereits mit Registry + SDK verdrahtet, samt Prüfung beider finanzierten Lanes.
Sie starten eine neue App.
Wie sie zusammenspielen
Das Rückgrat sind drei Grundlagen und ein Scaffolder:
rome-registry ist die einzige Quelle für Live-Fakten. rome-sdk-ts ist der Schreibpfad — und sein
/bridgeUnterpfad ist der Client, den Ihre App verwendet, um mitrome-bridge-api. rome-solidity ist das, was Ihre Verträge (und die Forks) importieren; die Oracle-Adapter, dierome-oracle-gatewaybereitstellt, befinden sich ebenfalls dort. Die drei sind voneinander unabhängig — wählen Sie die, die Ihre App benötigt.create-rome-app verbindet die ersten beiden für eine neue App, sodass ein neues Projekt bereits die Registry liest und über das SDK schreibt.
Die Referenz-Apps sind die wissenswerte Ausnahme: Sie stammen aus der Zeit vor den extrahierten Paketen. cardo verwendet das Registry-Paket; appia projiziert die Registry zur Build-Zeit in statisches JSON; und beide binden ihren Schreibpfad selbst ein, statt das SDK zu importieren. Lesen Sie sie, um die Muster zu lernen — aber eine neue App sollte mit create-rome-app + den Paketen beginnen, nicht durch Klonen einer App.
Navigieren Sie nach Ihrem Bedarf
Ein Live-Chain-Fakt (ID, Adresse, Mint, Programm-ID) → rome-registry. Niemals fest kodieren.
App-Code schreiben (ein Schreibvorgang, ein CPI-Aufruf, eine Bridge) → rome-sdk-ts; Referenz unter Rome SDK.
Verträge schreiben → rome-solidity; siehe Solidity-Verträge bereitstellen.
Ein Solana-Programm aus einem Solidity-Vertrag aufrufen → das CPI-Precompile in rome-solidity (
interface.sol); cardo ist ein ausgearbeitetes Beispiel.Ein funktionierendes Beispiel einer AMM-, Lending-, CPI- oder Von-zu-Hause-App → die obigen Referenz-Apps; jedes Repositorys
AGENTS.mdleitet nach Ausgangspunkt.Eine neue App mit Gerüst erstellen → create-rome-app.
Ein Preisfeed → rome-oracle-gateway (siehe das Oracle-Gateway-Portal).
Nutzer auf einer anderen Chain → Von zu Hause + rome-bridge-api.
Entscheiden, welche Seite Ihre Logik enthält → Wählen Sie Ihren Kern.
Die Grundlagenschicht aus der Nähe
rome-registry — Live-Fakten, konstruktionsbedingt öffentlich
Die Registry wird generiert aus Romes interner Quelle: Eine Allowlist gibt nur aus, was öffentlich sein soll, ersetzt interne Endpunkte durch ihre öffentlichen Entsprechungen und verweigert standardmäßig alles andere — daher ist sie konstruktionsbedingt öffentlich sicher. Sie veröffentlicht pro Chain chain.json / tokens.json / contracts.json / oracle.json / bridge.json / alts.json, plus Solana- Programme und App-Bereitstellungen pro Protokoll.
Sie lesen sie über Getter — getChain, getTokens, getContracts, getOracle, getBridge, getAlts, und getPrograms(network) (Programm-IDs sind nach Netzwerk, nicht nach Chain-ID, geschlüsselt). Das Paket ist reines ESM (derzeit ohne gebündelte TypeScript-Typen).
Zwei Dinge, die Sie wissen sollten, bevor Sie es einbinden:
getTokens()gibt nichtassetRef. zurück. Um den Wrapper eines Tokens zu finden, gleichen Sie dessen Mint (mintId) ab — z. B. ist der Wrapper des Gas-Tokens der Eintrag, der seinen Mint teilt.Es liest JSON von der Festplatte (
node:fs) — es ist nicht browsersicher. Projizieren Sie in einer Web-App die benötigten Werte zur Build-Zeit in eine statische JSON-Datei und importieren Sie diese im Client. (Genau das tuncreate-rome-appund appia.)
Fakten, die Ihre App nicht live liest, erscheinen auch in der Contract-Adressen -Referenz.
rome-sdk-ts — der Schreibpfad, beide Lanes
@rome-protocol/sdk (v0.2.1) kapselt alles, was ein Rome-Schreibvorgang benötigt, damit Sie weder Calldata noch Gebühren selbst erstellen müssen:
submitRomeTx— der EVM-Lane-Schreibpfad: bemisst Gas anhand voneth_estimateGas(mit Puffer, mit einer Fallback-Obergrenze, falls die Schätzung zurückgesetzt wird) und stellt EIP-1559-Gebühren bereit.submitRomeTxSolanaLane— dasselbe für eine Phantom/Solana -Wallet, die Ihre EVM-App steuert. Der synthetische Sender hält nichts dauerhaft;buildFundLeg/buildSweepLegverschieben Wert hinein und hinaus als ERC-20 (wUSDC), nicht nativesmsg.value, und ein neuer synthetischer Sender wird bei der ersten Verwendung automatisch bereitgestellt (create_pda).PDA/ATA-Ableitung, CPI
invoke/invoke_signed-Encoder, Precompile-Bindings, und ein/bridgeUnterpfad (@rome-protocol/sdk/bridge) — Bridge-Client mit Quote-first-Ansatz.
Vollständige API + Beispiele: Rome SDK, und die Anleitungen Solana aus EVM aufrufen, EVM aus Solana aufrufen, und Eine Dual-Lane-App erstellen.
rome-solidity — das Toolkit für die Vertragsseite
Was Ihre Verträge importieren:
contracts/interface.sol— die an ihre Adressen gebundenen Precompile-Schnittstellen: CPIICrossProgramInvocation(0xFF…08), HelperIHelperProgram(0xFF…09, ATA/PDA-Erstellung, SPL-Transfers, Gas↔Lamports), WithdrawIWithdraw(0x42…16), und System (0xFF…07). Eine gasoptimierte gecachte Familie befindet sich ebenfalls hier; ein Vertrag verwendet durchgehend einen Pfad. Vollständige Adresstabelle: Contract-Adressen.SPL/ERC-20-Wrapper —
SPL_ERC20(CPI-basiert) undSPL_ERC20_cached(der gecachte Pfad, der auf Devnet verwendet wird); jeder SPL-Mint ist durch diese bereits ein ERC-20.Oracle-Adapter (
contracts/oracle/) — die Pyth-/Switchboard-Adapterrome-oracle-gatewaystellt bereit, gelesen überIAggregatorV3Interface.Ausgearbeitete Beispiele in
contracts/examples/.
Der Solidity-SDK-Abschnitt von Rome SDK zeigt die Importmuster und die Precompile-Bindings im Code.
Was als Nächstes kommt
Wählen Sie Ihren Kern — welche Seite Ihre Logik enthält.
Schnellstart — stellen Sie Ihren ersten Vertrag bereit.
create-rome-app — erstellen Sie das Gerüst einer Dual-Lane-App.
Jedes Repositorys
AGENTS.md— der nach Ausgangspunkt geordnete Weg zum nächstgelegenen Beispiel.
Zuletzt aktualisiert
War das hilfreich?