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-Aufrufeeth_estimateGason-chain ausführen und automatisch den richtigen Wert erhalten.Nicht hartkodieren
21000fü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 hartkodiertes21000Gas-Limit schlägt bei neuen Empfängern fehl.
forge script --broadcast benötigt --skip-simulation
forge script --broadcast benötigt --skip-simulationforge 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)
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?