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

Подписки WebSocket

Конечные точки Rome EVM поддерживают WebSocket-подписки Ethereum (eth_subscribe / eth_unsubscribe) через wss://. Подключайтесь к тому же хосту, что и HTTPS RPC, с wss:// схемой:

wss://<chain>.testnet.romeprotocol.xyz/

Это то, что ethers / viem WebSocketProvider используют под капотом, поэтому .on('block'), contract.on(event), и viem's watchEvent / watchBlocks работают без дополнительной настройки.

Типы подписок

Тип
Срабатывает при
Используется для

newHeads

каждом новом блоке

периодических проверок блоков, обновления балансов/nonce, ботов на каждый блок, индексаторов

логи

соответствующих событий (по адресу / топикам)

реагирования на события вашего контракта, ретрансляторов/мостов, торговых ботов

newPendingTransactions

принимается, но событие никогда не генерируется (в Rome нет публичного мемпула)

ethers (v6)

import { ethers } from "ethers";

const provider = new ethers.WebSocketProvider(
  "wss://martius-i.testnet.romeprotocol.xyz/"
);

// newHeads
provider.on("block", (blockNumber) => {
  console.log("новый блок", blockNumber);
});

// логи — реагирование на событие контракта
const contract = new ethers.Contract(address, abi, provider);
contract.on("Transfer", (from, to, value) => {
  console.log("Transfer", from, to, value.toString());
});

viem

Сырой JSON-RPC

Для логи, передайте объект фильтра вторым параметром:

Примечания

  • Подписки отправляют обновления по мере появления новых блоков (задержка составляет порядка времени формирования блока).

  • Для долгоживущих соединений обрабатывайте повторные подключения на стороне клиента — это стандартная практика для любого WebSocket RPC.

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

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