Salut, sunt Mike Kuykendall — peste 20 de ani ca inginer software, fost sergent șef USAF, tată a doi copii și acum tipul din spatele Delta Zero Labs (@_MikeKuykendall pe X).
Ani de zile am trăit viața RPC. Vrei fiecare transfer ERC20 pentru un portofel whale din 2020? Pornești un script care rulează eth_getLogs cu intervale de 10.000 de blocuri, gestionezi limitele de rate, reîncerci la 429, paginezi, deduplicați, decodezi ABI singur, îl stochezi undeva... și repeți pentru swap-uri DEX, tick-uri oracle, lichidări.
Un proiect de weekend s-a transformat într-o factură Alchemy de 400$/lună și un nod de arhivă de 14 TB care îmi mânca SSD-ul. Am jurat că trebuie să existe o cale mai bună.
Și există.
Am construit (și acum vând) seturi de date Parquet de calitate production, complet decodate, genesis-to-tip pentru Ethereum mainnet, BSC și Sepolia. O singură descărcare. Un singur fișier (sau set partitionat curat). Zero RPC-uri pentru totdeauna. Interogare a 7,77 miliarde de evenimente BSC sau 334 milioane de evenimente Sepolia în secunde pe laptop-ul tău cu DuckDB sau Polars.
Acesta nu este un alt indexer sau subgraph. Acestea sunt datele pe care le-ai fi extras singur — dar deja pregătite, decodate, clasificate după signal_type, comprimate și gata să le deții pentru totdeauna.
În această postare îți ofer exact ghidul pas cu pas pe care mi-aș fi dorit să îl am acum doi ani. Până la final vei ști exact cum să:
Să eliminăm împreună taxa RPC.
Verificare rapidă a realității (știi deja asta, dar să cuantificăm durerea):
M-am săturat. Așa că am scris un motor de extracție zero-RPC (Fused Semantic Execution în curs de brevetare — FSE). Citește datele brute de lanț o dată, decodează fiecare eveniment în coloane curate, îl etichetează cu signal_type și îl aruncă direct în Parquet.
Rezultat? Seturi de date precum:
Toate livrate ca Parquet. Coloanar, comprimat nebunește (de 5–10× mai mic decât CSV), gata pentru predicate pushdown, funcționează cu fiecare instrument modern de date.
Fiecare rând este un eveniment decodat. Iată coloanele principale pe care le vei folosi în fiecare zi (specificația completă de 19 coloane este în documentația de descărcare):
Un rând = o înregistrare cristal clară, gata de analiză. Nicio decodare ABI în codul tău vreodată.
Accesează eșantionul oficial:
https://huggingface.co/datasets/MikeKuykendall/ethereum-signals-sample
Sau oglinda Kaggle: https://www.kaggle.com/datasets/mikekuykendall/ethereum-onchain-signals
Descarcă fișierul Parquet (~5–10 MB, 10.000 de rânduri stratificate acoperind fiecare signal_type).
Recomand DuckDB — este magic pentru asta.
pip install duckdb pandas pyarrow
# sau doar brew install duckdb pe Mac
Deschide un notebook Jupyter sau doar CLI-ul DuckDB.
Python + Pandas (pentru explorare mică)
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 (aici se întâmplă magia — memorie zero pentru fișiere uriașe)
-- Lansează DuckDB
duckdb
-- Atașează eșantionul
SELECT * FROM read_parquet('ethereum_signals_sample.parquet') LIMIT 10;
"Câte transferuri ERC20 a făcut această 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 tokenuri după numărul de transferuri în 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 ianuarie 2024
AND timestamp < 1735689600 -- 1 ianuarie 2025
GROUP BY contract_address
ORDER BY tx_count DESC
LIMIT 10;
"Toate swap-urile Uniswap V3 pentru un pool specific, cu impact de preț"
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;
"Tick-uri de preț Chainlink pentru ETH/USD în timp" (perfect pentru backtesting)
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;
Sfat pro: DuckDB poate citi și foldere partiționate:
SQL
SELECT COUNT(*) FROM read_parquet('mainnet_parquets/*.parquet');
Folosește automat predicate pushdown — filtrarea pe block_number sau signal_type sare peste 99% din datele de pe disc. Vei interoga miliarde de rânduri mai rapid decât majoritatea oamenilor pot derula pe Twitter.
Notă privind stocarea: setul complet BSC este mare, dar compresibil și rulează bine pe o mașină cu 64 GB RAM. Pentru fluxuri de lucru mai mari, doar pornește o cutie Hetzner ieftină cu 128 GB RAM și DuckDB încă depășește depozitele cloud la cost.
Un cumpărător mi-a spus: "Am anulat planul meu RPC de 1.200$/lună în aceeași zi în care a ajuns setul de date."
AbordareCoștViteză pentru istoric de 3 aniÎntreținereProprietateBucle RPC brute200–2.000$/lunaOre–zileConstantăReconstruiești tuSubgraphs/The GraphGratuit–plătitRapid dar incompletRisc providerNuCryo auto-extractTimpul tău + nodZile pentru extractContinuuDaDelta Zero ParquetO singură dată 999$+SecundeZeroPentru totdeauna
Primii 1.000 de cumpărători pe mainnet/BSC primesc 25% reducere cu codul EARLY25 la finalizare.
Întrebări? Trimite-mi DM pe X @_MikeKuykendall sau alătură-te canalului Telegram de pe site. Răspund la fiecare — aceasta este o operațiune solo deținută de veteran și chiar îmi pasă să câștigi cu datele.
Oprește plata chiriei pentru date care ar trebui să fie ale tale.
Descarcă eșantionul. Rulează interogările. Apoi nu mai apela niciodată alt eth_getLogs.
Ne vedem on-chain (offline).
— Mike Kuykendall Delta Zero Labs P.S. Următoarea lansare de lanț vine curând. Vrei acces timpuriu + tipuri de semnale personalizate? Trimite-mi DM.
I Ditched RPC Hell for Good: Your Complete Genesis-to-Tip Parquet Handbook for Lightning-Fast… a fost publicat inițial în Coinmonks pe Medium, unde oamenii continuă conversația evidențiind și răspunzând la această poveste.


