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

Dukungan JSON-RPC

Endpoint EVM Rome menggunakan Ethereum JSON-RPC standar. Foundry, Hardhat, ethers, viem, dan MetaMask bekerja dengan Rome dengan cara yang sama seperti pada rantai EVM mana pun. Halaman ini mencantumkan apa yang didukung dan beberapa perilaku khusus Rome yang perlu diketahui.

Metode yang didukung

Inti (state & eksekusi): eth_chainId, eth_blockNumber, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory.

Blok & transaksi: eth_getBlockByNumber, eth_getBlockByHash, eth_getBlockReceipts, eth_getTransactionByHash, eth_getTransactionReceipt, eth_sendRawTransaction, varian berdasarkan indeks/jumlah blok.

Log & filter: eth_getLogs, eth_newFilter, eth_newBlockFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter.

Langganan WebSocket: eth_subscribe / eth_unsubscribe (newHeads, logs). Lihat Langganan WebSocket.

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

Tidak didukung

debug_traceTransaction / trace_* (pelacakan transaksi), eth_getProof, eth_createAccessList, eth_blobBaseFee (tidak ada transaksi blob), txpool_* (tidak ada mempool publik). newPendingTransactions langganan diterima tetapi tidak pernah memancarkan apa pun.

Perilaku khusus Rome

Gas berasal dari Solana โ€” estimasikan, jangan hardcode

Rome mengukur eksekusi dalam unit komputasi Solana, yang diekspos sebagai gas EVM. Konsekuensi praktis:

  • Selalu biarkan tooling Anda mengestimasi gas. forge create, cast, dan Hardhat memanggil eth_estimateGas di on-chain dan mendapatkan nilai yang benar secara otomatis.

  • Jangan hardcode 21000 untuk transfer native. Transfer ke alamat yang belum ada biayanya lebih dari 21000 (karena membuat akun penerima). Estimasi menangani ini; sebuah 21000 gas limit yang di-hardcode akan gagal untuk penerima baru.

forge script --broadcast memerlukan --skip-simulation

forge script menetapkan gas limit broadcast-nya dari sebuah lokal simulasi, yang memberikan alokasi terlalu rendah terhadap model gas Rome. Tambahkan --skip-simulation agar Foundry menggunakan eth_estimateGas sebagai gantinya:

forge create, cast send, dan Hardhat tidak terpengaruh โ€” mereka sudah mengestimasi di on-chain.

eth_getLogs dibatasi rentang (~12.000 blok)

Seperti Infura, Alchemy, dan RPC produksi lainnya, eth_getLogs menolak rentang blok yang terlalu lebar (kesalahan -32005). Batasi kueri Anda:

Sebuah queryFilter tanpa rentang memindai seluruh histori dan akan melampaui batas โ€” berikan sebuah fromBlock/toBlock. Asersi event berbasis receipt (mis. menunggu tx dan membaca log-nya) tidak terpengaruh.

Biaya

eth_gasPrice mengembalikan harga nyata yang diturunkan dari oracle; wallet (termasuk MetaMask) menggunakannya dan menampilkan biaya yang benar. Field biaya yang dikirim diterima secara permisif โ€” baik transaksi legacy maupun EIP-1559 masuk dengan default tooling standar.

Terakhir diperbarui

Apakah ini membantu?