Porzuciłem Piekło RPC na Dobre: Twój Kompletny Przewodnik po Parquet od Genesis do Tip dla Błyskawicznej Analizy On-Chain  (Koniec z Limitami Zapytań, Koniec z 500$ Miesięcznie&Porzuciłem Piekło RPC na Dobre: Twój Kompletny Przewodnik po Parquet od Genesis do Tip dla Błyskawicznej Analizy On-Chain  (Koniec z Limitami Zapytań, Koniec z 500$ Miesięcznie&

Porzuciłem Piekło RPC na Dobre: Twój Kompletny Przewodnik po Parquet od Genesis do Tip dla Błyskawicznie Szybkich…

2026/02/26 23:30
7 min. lektury

Porzuciłem piekło RPC na dobre: Twój kompletny podręcznik Parquet od genezy do szczytu dla błyskawicznej analizy on-chain

(Koniec z limitami zapytań, koniec z rachunkami 500 USD miesięcznie)

Hej, jestem Mike Kuykendall — ponad 20 lat jako inżynier oprogramowania, były sierżant sztabowy USAF, ojciec dwójki dzieci, a teraz człowiek stojący za Delta Zero Labs (@_MikeKuykendall na X).

Przez lata żyłem w świecie RPC. Chcesz każdy transfer ERC20 dla portfela wieloryba od 2020 roku? Uruchom skrypt, który pętli eth_getLogs z zakresami 10 000 bloków, obsługuj limity zapytań, ponawiaj próby przy błędach 429, stronicuj, deduplikuj, sam dekoduj ABI, przechowuj to gdzieś… i powtarzaj to dla swapów DEX, ticków wyroczni, likwidacji.

Jeden weekendowy projekt zamienił się w rachunek Alchemy za 400 USD miesięcznie i węzeł archiwum o pojemności 14 TB pożerający mój SSD. Przysiągłem, że musi być lepszy sposób.

Jest.

Zbudowałem (i teraz sprzedaję) produkcyjne, w pełni zdekodowane zestawy danych Parquet od genezy do szczytu dla Ethereum mainnet, BSC i Sepolia. Jedno pobranie. Jeden plik (lub czysty podzielony zestaw). Zero RPC na zawsze. Odpytuj 7,77 miliarda zdarzeń BSC lub 334 miliony zdarzeń Sepolia w sekundach na swoim laptopie za pomocą DuckDB lub Polars.

To nie jest kolejny indekser ani podgraf. To są dane, które sam byś wyodrębnił — ale już gotowe, zdekodowane, sklasyfikowane według signal_type, skompresowane i gotowe do posiadania na zawsze.

W tym poście przedstawiam dokładny przewodnik krok po kroku, którego życzyłbym sobie dwa lata temu. Pod koniec będziesz dokładnie wiedział, jak:

  • Pobrać darmową próbkę 10 tys. wierszy
  • Załadować ją lokalnie
  • Odpowiedzieć na każde pytanie, do którego wcześniej używałeś RPC
  • Skalować do pełnego, wielomiliardowego bestii

Zabijmy razem podatek RPC.

Dlaczego RPC zawodzi przy prawdziwej pracy historycznej

Szybka weryfikacja rzeczywistości (już to wiesz, ale skwantyfikujmy ból):

  • Maksymalny zakres eth_getLogs to zwykle 10–50 tys. bloków u płatnych dostawców.
  • Pełny mainnet = ~22 miliony bloków dzisiaj.
  • Jedno pełne skanowanie wszystkich zdarzeń Transfer? Spodziewaj się 200–500 wywołań API, godzin czekania i niespodziewanego rachunku 87 USD.
  • Chcesz backtestingu MEV przez 3 lata Uniswap V3? Powodzenia.
  • Limity zapytań, koszty węzłów archiwum, dryfowanie danych, gdy dostawcy zmieniają schematy… koszmar.

Miałem tego dość. Więc napisałem silnik ekstrakcji zero-RPC (patent w toku Fused Semantic Execution — FSE). Czyta surowe dane łańcucha raz, dekoduje każde zdarzenie do czystych kolumn, oznacza je signal_type i zrzuca prosto do Parquet.

Wynik? Zestawy danych takie jak:

  • Ethereum Mainnet (wyrocznia Chainlink + przepływy WETH + pełny rdzeń DEX): ~358 milionów sygnałów, geneza → szczyt, ~16 GB skompresowanych. Licencja dożywotnia 999 USD (25% zniżki dla pierwszych 1000 kupujących).
  • BSC (7,77 miliarda zdekodowanych zdarzeń — PancakeSwap, Aave, Chainlink, Wormhole, wszystko): geneza → blok 82M+. Jednorazowy zakup w zakresie 999–9 999 USD w zależności od podzbioru.
  • Pełne archiwum Sepolia (334M+ zdarzeń, każda kategoria): pojedynczy ~12,3 GB Parquet.

Wszystko dostarczone jako Parquet. Kolumnowe, szalenie skompresowane (5–10× mniejsze niż CSV), gotowe na predicate pushdown, współpracuje z każdym nowoczesnym narzędziem danych.

Co faktycznie jest w środku Parquet (schemat 19 kolumn, któremu możesz zaufać)

Każdy wiersz to jedno zdekodowane zdarzenie. Oto podstawowe kolumny, których będziesz używać codziennie (pełna specyfikacja 19 kolumn jest w dokumentacji pobierania):

  • block_number (int64)
  • block_hash (string)
  • timestamp (int64 — sekundy Unix)
  • tx_hash (string)
  • tx_index (int32)
  • from_address (string)
  • to_address (string)
  • contract_address (string — kontrakt tokena lub protokołu)
  • signal_type (string — np. ERC20_Transfer, UniswapV3_Swap, Chainlink_PriceUpdate, AaveV3_Liquidation, WETH_Deposit, DAO_Vote, itp.)
  • value / amount / amount0 / amount1 (decimal lub int256 znormalizowane)
  • price (dla wyroczni)
  • log_index, topic0–topic3, surowe pola danych dla zaawansowanych użytkowników
  • Plus zdekodowane parametry specyficzne dla każdego signal_type (adres puli, tick, sqrtPriceX96, itp. dla swapów DEX)

Jeden wiersz = jeden krystalicznie czysty, gotowy do analizy rekord. Nigdy więcej dekodowania ABI w swoim kodzie.

Krok po kroku: od zera do odpytywania 300M+ wierszy w mniej niż 5 minut

Krok 1: Pobierz darmową próbkę (bez e-maila, bez rejestracji)

Przejdź do oficjalnej próbki:

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

Lub mirror Kaggle: https://www.kaggle.com/datasets/mikekuykendall/ethereum-onchain-signals

Pobierz plik Parquet (~5–10 MB, 10 000 warstwowych wierszy obejmujących każdy signal_type).

Krok 2: Zainstaluj narzędzia (zajmuje 60 sekund)

Polecam DuckDB — to magiczne dla tego.

pip install duckdb pandas pyarrow
# lub po prostu brew install duckdb na Mac

Krok 3: Załaduj i eksploruj (skopiuj i wklej te)

Otwórz notatnik Jupyter lub po prostu CLI DuckDB.

Python + Pandas (do małej eksploracji)

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 (tutaj dzieje się magia — zerowa pamięć dla ogromnych plików)

-- Uruchom DuckDB
duckdb

-- Dołącz próbkę
SELECT * FROM read_parquet('ethereum_signals_sample.parquet') LIMIT 10;

Krok 4: Prawdziwe pytania, na które możesz odpowiedzieć natychmiast

"Ile transferów ERC20 wykonał ten adres?"

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';

"Top 10 tokenów według liczby transferów w 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 stycznia 2024
AND timestamp < 1735689600 -- 1 stycznia 2025
GROUP BY contract_address
ORDER BY tx_count DESC
LIMIT 10;

"Wszystkie swapy Uniswap V3 dla konkretnej puli, z wpływem na cenę"

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;

"Ticki cen Chainlink dla ETH/USD w czasie" (idealne do backtestingu)

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;

Wskazówka profesjonalisty: DuckDB może również czytać podzielone na partycje foldery:

SQL

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

Automatycznie używa predicate pushdown — filtrowanie po block_number lub signal_type pomija 99% danych na dysku. Będziesz odpytywał miliardy wierszy szybciej niż większość ludzi przewija Twittera.

Krok 5: Przejście do pełnego zestawu danych

  1. Kup swoją licencję na https://deltazerolabs.dev (pakiety mainnet, BSC lub Sepolia).
  2. Natychmiastowy link do pobrania + dożywotni klucz do ponownego pobrania.
  3. Rozpakuj (jeśli potrzeba) → skieruj swoje zapytania do Parquet(ów).
  4. Gotowe. Nigdy więcej miesięcznego rachunku.

Uwaga dotycząca przechowywania: Pełny zestaw BSC jest duży, ale kompresjowalny i działa dobrze na maszynie z 64 GB RAM. Dla większych przepływów pracy po prostu uruchom tani box Hetzner z 128 GB RAM, a DuckDB wciąż przewyższa hurtownie chmurowe pod względem kosztów.

Prawdziwe zwycięstwa moich kupujących

  • Poszukiwacze MEV backtestują logikę routingu przez 4 lata danych DEX w <2 minuty.
  • Zespoły compliance śledzą każdy transfer NFT dla kolekcji bez ograniczonego limitem Etherscan.
  • Fundusze ilościowe budują wskaźniki zdrowia portfela z pełnego przepływu WETH + historii likwidacji.
  • Badacze piszący artykuły z odtwarzalnymi zapytaniami (po prostu udostępnij SQL + wersję zestawu danych).

Jeden kupujący powiedział mi: "Anulowałem mój plan RPC za 1200 USD miesięcznie tego samego dnia, gdy zestaw danych dotarł".

Tabela porównawcza (bo to uwielbiasz)

PodejścieKosztSzybkość dla historii 3 latKonserwacjaWłasnośćSurowe pętle RPC200–2000 USD/mieGodziny–dniStałeTy odbudowujeszPodgrafy/The GraphDarmowe–płatneSzybkie, ale niepełneRyzyko dostawcyNieCryo samo-ekstrakcjaTwój czas + węzełDni do ekstrakcjiCiągłeTakDelta Zero ParquetJednorazowo 999 USD+SekundyZeroNa zawsze

Gotowy zabić swój rachunek RPC?

  1. Pobierz darmową próbkę teraz: https://huggingface.co/datasets/MikeKuykendall/ethereum-signals-sample
  2. Uruchom powyższe zapytania. Poczuj prędkość.
  3. Gdy będziesz gotowy na pełną bestię od genezy do szczytu (mainnet, BSC lub Sepolia), przejdź do https://deltazerolabs.dev/bsc i zdobądź swoją dożywotnią licencję.

Pierwszych 1000 kupujących na mainnet/BSC otrzymuje 25% zniżki z kodem EARLY25 przy kasie.

Pytania? Napisz do mnie na X @_MikeKuykendall lub dołącz do kanału Telegram linkowanego na stronie. Odpowiadam na każde — to operacja solo należąca do weterana i naprawdę zależy mi, żebyś wygrał z danymi.

Przestań płacić czynsz za dane, które powinny być twoje.

Pobierz próbkę. Uruchom zapytania. Potem nigdy więcej nie wywołuj eth_getLogs.

Do zobaczenia on-chain (offline).

— Mike Kuykendall Delta Zero Labs P.S. Kolejny drop łańcucha nadchodzi wkrótce. Chcesz wczesny dostęp + niestandardowe typy sygnałów? Napisz do mnie.


I Ditched RPC Hell for Good: Your Complete Genesis-to-Tip Parquet Handbook for Lightning-Fast… został pierwotnie opublikowany w Coinmonks na Medium, gdzie ludzie kontynuują rozmowę, podkreślając i odpowiadając na tę historię.

Zastrzeżenie: Artykuły udostępnione na tej stronie pochodzą z platform publicznych i służą wyłącznie celom informacyjnym. Niekoniecznie odzwierciedlają poglądy MEXC. Wszystkie prawa pozostają przy pierwotnych autorach. Jeśli uważasz, że jakakolwiek treść narusza prawa stron trzecich, skontaktuj się z crypto.news@mexc.com w celu jej usunięcia. MEXC nie gwarantuje dokładności, kompletności ani aktualności treści i nie ponosi odpowiedzialności za jakiekolwiek działania podjęte na podstawie dostarczonych informacji. Treść nie stanowi porady finansowej, prawnej ani innej profesjonalnej porady, ani nie powinna być traktowana jako rekomendacja lub poparcie ze strony MEXC.