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

Поддержка JSON-RPC

Конечные точки Rome EVM поддерживают стандартный Ethereum JSON-RPC. Foundry, Hardhat, ethers, viem и MetaMask работают с Rome так же, как и с любой другой EVM-цепочкой. На этой странице перечислено, что поддерживается, а также несколько специфичных для Rome особенностей, о которых стоит знать.

Поддерживаемые методы

Основное (состояние и выполнение): eth_chainId, eth_blockNumber, eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory.

Блоки и транзакции: eth_getBlockByNumber, eth_getBlockByHash, eth_getBlockReceipts, eth_getTransactionByHash, eth_getTransactionReceipt, eth_sendRawTransaction, варианты по индексу/количеству блоков.

Логи и фильтры: eth_getLogs, eth_newFilter, eth_newBlockFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter.

Подписки WebSocket: eth_subscribe / eth_unsubscribe (newHeads, logs). См. Подписки WebSocket.

Сеть / web3: net_version, net_listening, net_peerCount, web3_clientVersion.

Не поддерживается

debug_traceTransaction / trace_* (трассировка транзакций), eth_getProof, eth_createAccessList, eth_blobBaseFee (blob-транзакции отсутствуют), txpool_* (публичный mempool отсутствует). newPendingTransactions подписки принимаются, но события не отправляются.

Особенности Rome

Газ определяется Solana — оценивайте, а не задавайте вручную

Rome измеряет выполнение в вычислительных единицах Solana, которые отображаются как EVM gas. Практические последствия:

  • Всегда позволяйте инструментам выполнять оценку газа. forge create, cast и Hardhat вызывают eth_estimateGas в сети и автоматически получают корректное значение.

  • Не задавайте вручную 21000 для нативных переводов. Перевод на адрес, который еще не существует, стоит больше 21000 (создается счет получателя). Оценка учитывает это; жестко заданный 21000 лимит газа приведет к ошибке для новых получателей.

forge script --broadcast требует --skip-simulation

forge script устанавливает лимит газа для broadcast на основе локальной симуляции, которая недостаточно соответствует модели газа Rome. Добавьте --skip-simulation , чтобы Foundry использовал вместо этого eth_estimateGas сети:

forge create, cast send и Hardhat не затрагиваются — они уже выполняют оценку в сети.

eth_getLogs имеет ограничение по диапазону (~12 000 блоков)

Как и Infura, Alchemy и другие production RPC-сервисы, eth_getLogs отклоняет слишком широкие диапазоны блоков (ошибка -32005). Ограничивайте запросы:

Запрос queryFilter без диапазона сканирует всю историю и превысит лимит — явно указывайте fromBlock/toBlock. Проверки событий на основе receipt (например, ожидание транзакции и чтение ее логов) не затрагиваются.

Комиссии

eth_gasPrice возвращает реальную цену, полученную от оракула; кошельки (включая MetaMask) используют ее и отображают корректные комиссии. Передаваемые поля комиссии принимаются гибко — как legacy-, так и EIP-1559-транзакции проходят со стандартными значениями инструментов.

Последнее обновление

Это было полезно?