Я навсегда избавился от RPC-ада: ваше полное руководство по Parquet от генезиса до вершины для молниеносного анализа в блокчейне (Никаких ограничений ставок, никаких $ 500 в месяц&Я навсегда избавился от RPC-ада: ваше полное руководство по Parquet от генезиса до вершины для молниеносного анализа в блокчейне (Никаких ограничений ставок, никаких $ 500 в месяц&

Я навсегда избавился от RPC-ада: ваше полное руководство по Parquet от Genesis до Tip для молниеносной...

2026/02/26 23:30
7м. чтение

Я навсегда избавился от RPC-ада: Ваше полное руководство по Parquet от генезиса до текущего блока для молниеносного он-чейн анализа

(Больше никаких лимитов запросов, больше никаких счетов на $500 в месяц)

Привет, я Майк Куйкендалл — более 20 лет работаю инженером-программистом, бывший старший сержант ВВС США, отец двоих детей, а теперь человек, стоящий за Delta Zero Labs (@_MikeKuykendall в X).

Годами я жил RPC-жизнью. Хотите получить все ERC20-переводы для кошелька кита с 2020 года? Запустите скрипт, который циклически вызывает eth_getLogs с диапазонами в 10 000 блоков, обрабатывайте лимиты запросов, повторяйте попытки при ошибках 429, разбивайте на страницы, удаляйте дубликаты, самостоятельно декодируйте ABI, где-то храните... и повторяйте всё снова для DEX-свопов, тиков оракулов, ликвидаций.

Один проект выходного дня превратился в счёт от Alchemy на $400 в месяц и архивную ноду на 14 ТБ, съедающую мой SSD. Я поклялся, что должен быть лучший способ.

И он есть.

Я создал (и теперь продаю) промышленные, полностью декодированные наборы данных Parquet от генезиса до текущего блока для основной сети Ethereum, BSC и Sepolia. Одна загрузка. Один файл (или чистый разделённый набор). Ноль RPC навсегда. Запрашивайте 7,77 миллиарда событий BSC или 334 миллиона событий Sepolia за секунды на своём ноутбуке с DuckDB или Polars.

Это не очередной индексатор или подграф. Это данные на цепочке, которые вы бы извлекли сами — но уже готовые, декодированные, классифицированные по signal_type, сжатые и готовые к вечному владению.

В этом посте я даю вам именно то пошаговое руководство, которое мне самому хотелось бы иметь два года назад. К концу вы будете точно знать, как:

  • Получить бесплатный образец из 10 тысяч строк
  • Загрузить его локально
  • Ответить на любой вопрос, ради которого вы раньше нагружали RPC
  • Масштабироваться до полного многомиллиардного набора

Давайте вместе покончим с RPC-налогом.

Почему RPC не работают для реальной исторической работы

Быстрая проверка реальности (вы уже это знаете, но давайте количественно оценим боль):

  • Максимальный диапазон eth_getLogs обычно составляет 10–50 тысяч блоков у платных провайдеров.
  • Полная основная сеть = ~22 миллиона блоков на сегодня.
  • Один полный скан всех событий перевода? Ожидайте 200–500 вызовов API, часы ожидания и неожиданные счета на $87.
  • Хотите бэктестинг MEV за 3 года Uniswap V3? Удачи вам.
  • Лимиты запросов, затраты на архивную ноду, дрейф данных, когда провайдеры меняют схемы... кошмар.

Мне это надоело. Поэтому я написал движок извлечения с нулевыми RPC (находящееся на патентовании объединённое семантическое выполнение — FSE). Он считывает необработанные данные на цепочке один раз, декодирует каждое событие в чистые столбцы, помечает его signal_type и выгружает прямо в Parquet.

Результат? Наборы данных такие как:

  • Основная сеть Ethereum (оракулы Chainlink + потоки WETH + полное ядро DEX): ~358 миллионов сигналов, от генезиса до текущего блока, ~16 ГБ в сжатом виде. Пожизненная лицензия $999 (скидка 25% для первых 1 000 покупателей).
  • BSC (7,77 миллиарда декодированных событий — PancakeSwap, Aave, Chainlink, Wormhole, всё): от генезиса до блока 82M+. Разовая покупка в диапазоне $999–$9 999 в зависимости от подмножества.
  • Полный архив Sepolia (334M+ событий, все категории): один файл Parquet ~12,3 ГБ.

Всё предоставляется в формате Parquet. Столбчатый формат, невероятно сжатый (в 5–10 раз меньше, чем CSV), готовый к предикатному проталкиванию, работает с любым современным инструментом обработки данных.

Что на самом деле внутри Parquet (19-столбцовая схема, которой можно доверять)

Каждая строка — это одно декодированное событие. Вот основные столбцы, которые вы будете использовать каждый день (полная спецификация из 19 столбцов в документации к загрузке):

  • block_number (int64)
  • block_hash (string)
  • timestamp (int64 — секунды Unix)
  • tx_hash (string)
  • tx_index (int32)
  • from_address (string)
  • to_address (string)
  • contract_address (string — контракт токена или протокола)
  • signal_type (string — например, ERC20_Transfer, UniswapV3_Swap, Chainlink_PriceUpdate, AaveV3_Liquidation, WETH_Deposit, DAO_Vote и т.д.)
  • value / amount / amount0 / amount1 (десятичное или нормализованное int256)
  • price (для оракулов)
  • log_index, topic0–topic3, поля необработанных данных для продвинутых пользователей
  • Плюс декодированные параметры, специфичные для каждого signal_type (адрес пула, тик, sqrtPriceX96 и т.д. для DEX-свопов)

Одна строка = одна кристально чистая запись, готовая к анализу. Больше никакого декодирования ABI в вашем коде.

Пошаговая инструкция: от нуля до запроса 300M+ строк менее чем за 5 минут

Шаг 1: Получите бесплатный образец (без email, без регистрации)

Перейдите к официальному образцу:

https://huggingface.co/datasets/MikeKuykendall/ethereum-signals-sample

Или зеркало Kaggle: https://www.kaggle.com/datasets/mikekuykendall/ethereum-onchain-signals

Загрузите файл Parquet (~5–10 МБ, 10 000 стратифицированных строк, охватывающих каждый signal_type).

Шаг 2: Установите инструменты (занимает 60 секунд)

Я рекомендую DuckDB — он творит чудеса для этого.

pip install duckdb pandas pyarrow
# или просто brew install duckdb на Mac

Шаг 3: Загрузка и исследование (скопируйте и вставьте это)

Откройте блокнот Jupyter или просто CLI DuckDB.

Python + Pandas (для небольшого исследования)

import pandas as pd

df = pd.read_parquet("ethereum_signals_sample.parquet")
print(df.shape) # (10000, 19)
print(df['signal_type'].value_counts())
print(df.head())

DuckDB SQL (здесь происходит волшебство — нулевая память для огромных файлов)

-- Запустите DuckDB
duckdb

-- Присоедините образец
SELECT * FROM read_parquet('ethereum_signals_sample.parquet') LIMIT 10;

Шаг 4: Реальные вопросы, на которые вы можете ответить мгновенно

"Сколько ERC20-переводов сделал этот адрес?"

SQL

SELECT COUNT(*) as transfers,
SUM(amount) as total_volume
FROM read_parquet('your_full_dataset.parquet')
WHERE from_address = '0x1234...'
OR to_address = '0x1234...'
AND signal_type = 'ERC20_Transfer';

"Топ-10 токенов по количеству переводов в 2024"

SQL

SELECT contract_address,
COUNT(*) as tx_count
FROM read_parquet('your_full_dataset.parquet')
WHERE signal_type = 'ERC20_Transfer'
AND timestamp >= 1704067200 -- 1 января 2024
AND timestamp < 1735689600 -- 1 января 2025
GROUP BY contract_address
ORDER BY tx_count DESC
LIMIT 10;

"Все свопы Uniswap V3 для конкретного пула с ценовым воздействием"

SQL

SELECT timestamp,
amount0,
amount1,
sqrtPriceX96,
(amount1::double / NULLIF(amount0,0)) as price_impact
FROM read_parquet('full_dataset.parquet')
WHERE signal_type = 'UniswapV3_Swap'
AND contract_address = '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640' -- USDC/ETH 0.05%
ORDER BY block_number DESC
LIMIT 1000;

"Ценовые тики Chainlink для ETH/USD с течением времени" (идеально для бэктестинга)

SQL

SELECT
date_trunc('day', to_timestamp(timestamp)) as day,
AVG(price) as avg_eth_price
FROM read_parquet('full_dataset.parquet')
WHERE signal_type = 'Chainlink_PriceUpdate'
AND contract_address = '0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419' -- ETH/USD
GROUP BY day
ORDER BY day;

Профессиональный совет: DuckDB также может читать разделённые папки:

SQL

SELECT COUNT(*) FROM read_parquet('mainnet_parquets/*.parquet');

Он автоматически использует предикатное проталкивание — фильтрация по block_number или signal_type пропускает 99% данных на цепочке на диске. Вы будете запрашивать миллиарды строк быстрее, чем большинство людей могут прокрутить Twitter.

Шаг 5: Переход к полному набору данных

  1. Купите лицензию на https://deltazerolabs.dev (пакеты mainnet, BSC или Sepolia).
  2. Мгновенная ссылка для загрузки + пожизненный ключ повторной загрузки.
  3. Распакуйте (если необходимо) → направьте свои запросы на Parquet(ы).
  4. Готово. Больше никаких ежемесячных счетов.

Примечание о хранении: Полный набор BSC большой, но сжимаемый и отлично работает на машине с 64 ГБ оперативной памяти. Для более крупных рабочих процессов просто разверните дешёвый сервер Hetzner со 128 ГБ оперативной памяти, и DuckDB всё равно превзойдёт облачные хранилища по стоимости.

Реальные победы, которые получают мои покупатели

  • MEV-поисковики проводят бэктестинг логики маршрутизации за 4 года данных DEX менее чем за 2 минуты.
  • Команды по соблюдению нормативных требований отслеживают каждый перевод NFT для коллекции без ограниченного по запросам Etherscan.
  • Количественные фонды создают оценки здоровья кошельков на основе полного потока WETH + истории ликвидаций.
  • Исследователи пишут статьи с воспроизводимыми запросами (просто делитесь SQL + версией набора данных).

Один покупатель сказал мне: "Я отменил свой RPC-план на $1 200 в месяц в тот же день, когда получил набор данных".

Сравнительная таблица (потому что вы любите это)

ПодходСтоимостьСкорость для 3-летней историиОбслуживаниеВладениеСырые RPC-циклы$200–2 000/месЧасы–дниПостоянноеВы пересобираетеПодграфы/The GraphБесплатно–платноБыстро, но неполноРиск провайдераНетСамостоятельное извлечение CryoВаше время + нодаДни на извлечениеПостоянноеДаDelta Zero ParquetРазово $999+СекундыНольНавсегда

Готовы убить свой RPC-счёт?

  1. Загрузите бесплатный образец прямо сейчас: https://huggingface.co/datasets/MikeKuykendall/ethereum-signals-sample
  2. Запустите приведённые выше запросы. Почувствуйте скорость.
  3. Когда вы будете готовы к полному набору от генезиса до текущего блока (mainnet, BSC или Sepolia), перейдите на https://deltazerolabs.dev/bsc и получите свою пожизненную лицензию.

Первые 1 000 покупателей на mainnet/BSC получают скидку 25% с кодом EARLY25 при оформлении заказа.

Вопросы? Напишите мне в X @_MikeKuykendall или присоединяйтесь к каналу Telegram, ссылка на который есть на сайте. Я отвечаю на каждый вопрос — это компания, принадлежащая ветерану и управляемая одним человеком, и мне действительно важно, чтобы вы выиграли с этими данными.

Прекратите платить за данные, которые должны быть вашими.

Загрузите образец. Запустите запросы. Затем больше никогда не вызывайте eth_getLogs.

Увидимся он-чейн (офлайн).

— Майк Куйкендалл Delta Zero Labs P.S. Скоро выйдет следующая цепочка. Хотите ранний доступ + пользовательские типы сигналов? Напишите мне.


I Ditched RPC Hell for Good: Your Complete Genesis-to-Tip Parquet Handbook for Lightning-Fast… был первоначально опубликован в Coinmonks на Medium, где люди продолжают разговор, выделяя эту историю и отвечая на неё.

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.