Ethereum · Логи

eth_getLogs

Возвращает логи событий, подходящие под фильтр (диапазон блоков, адрес контракта, топики). Тяжёлый метод — точка расширения для отдельных лимитов на стороне продукта.

Идемпотентен — повторяется на другом апстриме при сбое

Параметры

ИмяТипОбязателенОписание
fromBlockQUANTITY|TAGнетНачало диапазона, по умолчанию latest
toBlockQUANTITY|TAGнетКонец диапазона, по умолчанию latest
addressDATA|DATA[]нетАдрес или список адресов контрактов
topicsARRAYнетТопики события для фильтрации

Возвращает

ARRAY — список объектов лога

Пример запроса

{
  "jsonrpc": "2.0",
  "method": "eth_getLogs",
  "params": [
    {
      "fromBlock": "0x1348a00",
      "toBlock": "0x1348a9f",
      "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    }
  ],
  "id": 1
}

Пример ответа

{
  "jsonrpc": "2.0",
  "result": [
    {
      "address": "0xdAC1...",
      "blockNumber": "0x1348a50",
      "topics": [
        "0xddf252ad..."
      ],
      "data": "0x0000..."
    }
  ],
  "id": 1
}

curl

curl -X POST https://app.nodegate.ru/v1/{product_id} \
  -H "X-API-Key: ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"fromBlock":"0x1348a00","toBlock":"0x1348a9f","address":"0xdAC17F958D2ee523a2206206994597C13D831ec7"}],"id":1}'