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

JSON-RPC-Unterstützung

Rome-EVM-Endpunkte sprechen das standardmäßige Ethereum JSON-RPC. Foundry, Hardhat, ethers, viem und MetaMask funktionieren mit Rome genauso wie auf jeder anderen EVM-Chain. Diese Seite listet auf, was unterstützt wird, und die wenigen Rome-spezifischen Verhaltensweisen, die man kennen sollte.

Unterstützte Methoden

Kern (Zustand & Ausführung): eth_chainId, eth_blockNumber, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory.

Blöcke & Transaktionen: eth_getBlockByNumber, eth_getBlockByHash, eth_getBlockReceipts, eth_getTransactionByHash, eth_getTransactionReceipt, eth_sendRawTransaction, Block-nach-Index/-Anzahl-Varianten.

Logs & Filter: eth_getLogs, eth_newFilter, eth_newBlockFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter.

WebSocket-Abonnements: eth_subscribe / eth_unsubscribe (newHeads, logs). Siehe WebSocket-Abonnements.

Netzwerk / web3: net_version, net_listening, net_peerCount, web3_clientVersion.

Nicht unterstützt

debug_traceTransaction / trace_* (Transaktions-Tracing), eth_getProof, eth_createAccessList, eth_blobBaseFee (keine Blob-Transaktionen), txpool_* (kein öffentlicher Mempool). newPendingTransactions Abonnements werden akzeptiert, lösen aber nie Ereignisse aus.

Rome-spezifische Verhaltensweisen

Gas wird von Solana abgeleitet — schätzen, nicht hartkodieren

Rome misst die Ausführung in Solana-Compute-Units, die als EVM-Gas dargestellt werden. Praktische Folgen:

  • Lass dein Tooling Gas immer schätzen. forge create, castund Hardhat-Aufrufe eth_estimateGas on-chain ausführen und automatisch den richtigen Wert erhalten.

  • Nicht hartkodieren 21000 für native Überweisungen. Eine Überweisung an eine Adresse, die es noch nicht gibt, kostet mehr als 21000 (sie erstellt das Konto des Empfängers). Die Schätzung berücksichtigt das; ein hartkodiertes 21000 Gas-Limit schlägt bei neuen Empfängern fehl.

forge script --broadcast benötigt --skip-simulation

forge script setzt sein Broadcast-Gas-Limit aus einer lokalen Simulation fest, die gegenüber Romes Gasmodell zu niedrig ansetzt. Füge --skip-simulation hinzu, damit Foundry das von der Chain verwendete eth_estimateGas stattdessen verwendet:

forge create, cast send, und Hardhat sind davon nicht betroffen — sie schätzen bereits on-chain.

eth_getLogs ist bei der Bereichsgröße begrenzt (~12.000 Blöcke)

Wie Infura, Alchemy und andere produktive RPCs, eth_getLogs weist zu breite Blockbereiche zurück (Fehler -32005).

Eine queryFilter ohne Bereich scannt die gesamte Historie und überschreitet das Limit — gib ein explizites fromBlock/toBlock. Ereignis-Assertions auf Basis von Receipts (z. B. auf eine Tx zu warten und ihre Logs zu lesen) sind davon nicht betroffen.

Gebühren

eth_gasPrice liefert den echten, von Oracles abgeleiteten Preis; Wallets (einschließlich MetaMask) verwenden ihn und zeigen korrekte Gebühren an. Übermittelte Gebührenfelder werden großzügig akzeptiert — sowohl Legacy- als auch EIP-1559-Transaktionen kommen mit den Standard-Defaults der gängigen Tools an.

Zuletzt aktualisiert

War das hilfreich?