eth_getLogs падает на широком диапазоне блоков
Проверьте На каком тарифе ключ и сколько блоков охватывает каждый запрос?
Решение Разбейте диапазон на части или переведите ключ на тариф с большим диапазоном; прокси этот лимит не меняет.
Индексатор работает днями с одними и теми же эндпоинтами. Дайте ему постоянный выход, который можно добавить в allowlist и отслеживать.
Из России долгие выгрузки упираются в сеть. Cloudflare сообщала, что с 9 июня 2025 года российские провайдеры замедляют соединения с сервисами за Cloudflare — загружаются лишь первые 16 КБ, — а также с Hetzner, DigitalOcean и OVH. В документации Cloudflare, обновлённой 23 апреля 2026 года, это замедление по-прежнему описано. Шлюз The Graph gateway.thegraph.com работает через Cloudflare (проверено по заголовкам ответа 18.10.2026), поэтому выгрузку надёжнее вести через постоянный выход за рубежом.
Лимиты задаёт тариф, а не IP. На бесплатном тарифе Alchemy один запрос eth_getLogs охватывает только 10 блоков, на платных для Ethereum, Base, Optimism и Arbitrum ограничения диапазона нет, а ответ не больше 150 МБ. Free Plan у The Graph включает 100 000 запросов в месяц. Прокси держит маршрут стабильным, но квоты не меняет.
Долгой задаче нужен один адрес. Alchemy позволяет привязать API-ключ к allowlist IPv4-адресов, и выгрузка со статического IP не ломается при смене офисной сети или облачного сервера. А поле _meta в The Graph показывает последний проиндексированный блок, deployment и hasIndexingErrors — так видно, отстаёт subgraph или виновата сеть.
Используйте клавиши со стрелками для горизонтальной прокрутки.
| Критерий | Выбор | Почему |
|---|---|---|
| Продукт | Статический прокси дата-центра | Самый быстрый выход в консоли, оплата за IP |
| Оплата | За IP и срок | Платите за IP и срок, а не за гигабайты через прокси |
| Сколько IP | По одному на индексатор или среду | Раздельные записи в allowlist и логи |
| Страна | Рядом с RPC-провайдером или сервером индексатора | Для Web3 страна не выбирается автоматически — выберите до оплаты |
| Протокол | HTTP (по умолчанию) или SOCKS5 | HTTP CONNECT поддерживают почти все HTTP-клиенты |
| Смена IP | Нет, весь срок | Allowlist действует на всё время выгрузки |
Кнопка «Настроить прокси для парсинга» открывает статические прокси дата-центра для сценария Web3: оплата за IP и срок, протокол HTTP. Выберите регион, срок и количество (до 100 IP за раз) до оплаты.
Используйте клавиши со стрелками для горизонтальной прокрутки.
| Критерий | Статический ISP | Ротационный резидентный | Дата-центр |
|---|---|---|---|
| Что вы получаете | Домашний IP, закреплённый за вами на весь срок | IP домашних сетей: липкая сессия в выбранной стране или ротация на бюджетной линии | Фиксированные IP в дата-центрах — самый быстрый и дешёвый вариант в консоли |
| Цена | За IP и срок, сумма в PTC видна до оплаты (1 PTC = US$1) | За ГБ: бюджетная US$1.50, премиум US$5.00, от 1 ГБ | За IP и срок, сумма в PTC видна до оплаты |
| Лучше всего для индексации | Дашборды, открытые в браузере весь день | Выборочные проверки публичных эндпоинтов из разных стран; на выгрузках оплата за ГБ дорожает | Индексаторы, выгрузки и мониторинг subgraph — по постоянному IP |
Цены в долларах США, оплата балансом PTC (1 PTC = US$1). Пополните кошелёк и купите нужную линию. Автопродления пока нет — продлевайте статические IP в «Мои активы» до конца срока.
Кнопка «Настроить прокси для парсинга» открывает «Статические прокси дата-центра» со сценарием Web3. В «Настройках подключения» выберите регион и срок, оставьте протокол HTTP, в «Количество» — число IP (по одному на каждый индексатор или среду, до 100 за раз) и нажмите «Проверить цену и создать».
Ожидаемый результат В «Ваша конфигурация» указаны «За IP и срок», Web3, регион и HTTP.
После оплаты консоль открывает «Мои активы». Нажмите «Показать данные» у нового прокси и скопируйте адрес подключения (хост:порт), логин и пароль.
Внесите IP в allowlist RPC-провайдера. Направьте HTTP-клиент индексатора через прокси: Node.js 24.5+ читает HTTPS_PROXY при NODE_USE_ENV_PROXY=1, а Requests в Python принимает proxies в каждом вызове.
Запрашивайте _meta через прокси (пример ниже) и поднимайте тревогу, если блок перестал расти или hasIndexingErrors стал true. Сначала проверьте провайдера и subgraph, потом маршрут.
Ожидаемый результат Монитор показывает растущий номер блока и hasIndexingErrors false.
Используйте клавиши со стрелками для горизонтальной прокрутки.
# pip install requests
import requests
PROXY = "http://USERNAME:PASSWORD@HOST:PORT" # static datacenter IP from My assets
PROXIES = {"http": PROXY, "https": PROXY}
QUERY_URL = "YOUR_SUBGRAPH_QUERY_URL" # from Graph Explorer, includes your API key
QUERY = "{ _meta { block { number timestamp } deployment hasIndexingErrors } }"
r = requests.post(QUERY_URL, json={"query": QUERY}, proxies=PROXIES, timeout=30)
r.raise_for_status()
body = r.json()
if body.get("errors"):
raise RuntimeError(body["errors"])
meta = body["data"]["_meta"]
print("indexed block:", meta["block"]["number"])
print("deployment:", meta["deployment"], "indexing errors:", meta["hasIndexingErrors"])
Скопируйте URL запросов из Graph Explorer — в нём ваш API-ключ — и отправляйте запрос через прокси методом POST. Поднимайте тревогу, если блок перестал расти или hasIndexingErrors стал true.
Проверьте На каком тарифе ключ и сколько блоков охватывает каждый запрос?
Решение Разбейте диапазон на части или переведите ключ на тариф с большим диапазоном; прокси этот лимит не меняет.
Проверьте IP выхода прокси есть в allowlist ключа?
Решение Добавьте этот IPv4-адрес и подождите несколько минут.
Проверьте Вы отправляете запрос методом GET?
Решение Отправляйте POST с телом JSON, как в примере: The Graph описывает ответ 405 на GET.
Нет. Диапазоны блоков и пропускная способность зависят от тарифа: на бесплатном тарифе Alchemy eth_getLogs охватывает 10 блоков за запрос. Прокси даёт один стабильный маршрут из allowlist.
Дата-центр. Индексатор обращается к API по ключу, домашний IP ему не нужен; статический IP дата-центра — самый быстрый вариант в консоли с оплатой за IP и срок, а не за ГБ.
100 000 в месяц в Subgraph Studio, дальше — оплата по Growth Plan.
Не стоит. Берите данные из RPC, subgraph или официальных API со своими ключами: Etherscan, например, запрещает парсинг сайта в своих условиях.
Да, если это одна команда и лимиты провайдера позволяют. Продакшену дайте отдельный IP, чтобы тестовые задачи не расходовали его allowlist и квоту.
Официальная документация · Проверено:
Лимиты диапазона блоков по тарифам: на Free — 10 блоков во всех перечисленных сетях; на Pay As You Go и Enterprise для Ethereum, Base, Optimism, Arbitrum, Polygon и ряда других — без ограничения; ответ не больше 150 МБ; большие запросы советуют дробить.
Официальная документация · Проверено:
Free Plan включает 100 000 бесплатных запросов в месяц; сверх этого — оплата по Growth Plan картой или GRT в Arbitrum или Ethereum.
Официальная документация · Проверено:
Поле _meta возвращает последний проиндексированный блок (number, hash, timestamp), deployment (IPFS CID subgraph.yaml) и hasIndexingErrors.
Официальная документация · Проверено:
У каждого опубликованного subgraph есть свой URL запросов в Graph Explorer, для каждого URL нужен действующий API-ключ; при 405 на GET используйте POST.
Официальная документация · Проверено:
IP-allowlist задаёт IPv4-адреса, с которых можно использовать ваш API-ключ, остальные блокируются; настраивается во вкладке Security, изменения вступают в силу за несколько минут.
Официальная документация · Проверено:
Передавайте proxies в каждом запросе, чтобы прокси из окружения их не переопределили; логин и пароль — в форме http://user:password@host/.
Сторонний источник · Проверено:
С 9 июня 2025 года российские провайдеры замедляют соединения с сервисами за Cloudflare — загружаются только первые 16 КБ; затронуты и другие провайдеры, включая Hetzner, DigitalOcean и OVH.
Описывает ситуацию на июнь 2025 года.
Официальная документация · Проверено:
Прочитано 18.10.2026: сказано, что российские провайдеры систематически замедляют трафик к сайтам и сервисам, ограничивая передачу примерно 16 КБ на соединение; страница обновлена 23 апреля 2026 года.
Текст самой Cloudflare; сколько продлится замедление, не сказано.
Локальный пример · Проверено:
Запрос curl -sI https://gateway.thegraph.com/ 18.10.2026 вернул заголовки server: cloudflare и cf-ray, то есть шлюз обслуживается через Cloudflare.
Однократная проверка; хостинг сервиса может измениться.
Наблюдение за продуктом · Проверено:
Проверено по исходному коду консоли 18.10.2026: для сценария Web3 страница статического дата-центра оплачивается за IP и срок, протокол HTTP или SOCKS5 (по умолчанию HTTP), регион заранее не выбран, «Автопродление IP» — «Пока недоступно», указано, что статический IP не меняется. Подсказка Web3: «Разработка и инструменты: За IP · HTTP CONNECT по умолчанию · 1 выход · протокол и срок на выбор». С 19.10.2026 поле «Количество» принимает от 1 до 100, а консоль оформляет и списывает каждый IP отдельно.
Наблюдение за продуктом · Проверено:
На странице цен: бюджетные ротационные резидентные — US$1.50 за ГБ, премиум — US$5.00 за ГБ, от 1 ГБ; баланс в PTC, 1 PTC = US$1.00; аренда статических ISP и дата-центр IP зависит от региона, количества и срока и показывается до оплаты (сверено с рабочим каталогом 09.10.2026).
Создайте аккаунт, пополните баланс и выберите выход: ротируемый резидентский, статический ISP или дата-центр. Ротируемые резидентные — в 195+ странах и регионах.