من برای همیشه از دردسر RPC رها شدم: راهنمای کامل پارکت از Genesis تا Tip برای تحلیل درون زنجیره‌ای با سرعت برق (دیگر محدودیت نرخ نیست، دیگر هزینه ماهانه ۵۰۰ دلاری نیست&من برای همیشه از دردسر RPC رها شدم: راهنمای کامل پارکت از Genesis تا Tip برای تحلیل درون زنجیره‌ای با سرعت برق (دیگر محدودیت نرخ نیست، دیگر هزینه ماهانه ۵۰۰ دلاری نیست&

من برای همیشه از جهنم RPC خلاص شدم: راهنمای کامل Parquet از پیدایش تا انتها برای سرعت برق‌آسا…

2026/02/26 23:30
مدت مطالعه: 8 دقیقه

من برای همیشه از جهنم RPC خلاص شدم: راهنمای کامل Parquet از Genesis تا Tip شما برای تحلیل درون زنجیره‌ای فوق‌سریع

(دیگر محدودیت نرخ نیست، دیگر صورت‌حساب ماهانه ۵۰۰ دلاری نیست)

سلام، من مایک کایکندال هستم — بیش از ۲۰ سال به عنوان مهندس نرم‌افزار، گروهبان ارشد سابق نیروی هوایی ایالات متحده، پدر دو فرزند، و اکنون فردی پشت Delta Zero Labs (@_MikeKuykendall در X).

سال‌ها زندگی RPC را تجربه کردم. می‌خواهید هر انتقال ERC20 برای یک کیف پول نهنگ از سال ۲۰۲۰ را داشته باشید؟ یک اسکریپت راه‌اندازی کنید که eth_getLogs را با محدوده‌های ۱۰,۰۰۰ بلوکی حلقه می‌زند، محدودیت‌های نرخ را مدیریت کنید، در 429s دوباره تلاش کنید، صفحه‌بندی کنید، تکراری‌ها را حذف کنید، ABI را خودتان رمزگشایی کنید، آن را جایی ذخیره کنید... شستشو و تکرار برای معاوضه‌های DEX، تیک‌های اوراکل، لیکوییدیشن‌ها.

یک پروژه آخر هفته به صورت‌حساب ۴۰۰ دلار در ماه Alchemy و یک نود آرشیو ۱۴ ترابایتی که SSD من را می‌خورد تبدیل شد. قسم خوردم که باید راه بهتری وجود داشته باشد.

وجود دارد.

من مجموعه داده‌های Parquet درجه تولید، کاملاً رمزگشایی شده، از genesis تا tip را برای شبکه اصلی اتریوم، BSC و Sepolia ساختم (و اکنون می‌فروشم). یک دانلود. یک فایل (یا مجموعه پارتیشن‌بندی شده تمیز). صفر RPC برای همیشه. ۷.۷۷ میلیارد رویداد BSC یا ۳۳۴ میلیون رویداد Sepolia را در چند ثانیه روی لپ‌تاپ خود با DuckDB یا Polars جستجو کنید.

این یک ایندکسر یا ساب‌گراف دیگر نیست. این داده‌ای است که خودتان استخراج می‌کردید — اما از قبل انجام شده، رمزگشایی شده، بر اساس signal_type طبقه‌بندی شده، فشرده شده، و آماده برای مالکیت برای همیشه.

در این پست، من دقیقاً راهنمای گام به گامی را که آرزو می‌کردم دو سال پیش داشته باشم به شما می‌دهم. تا پایان دقیقاً می‌دانید چگونه:

  • نمونه ۱۰k-ردیفی رایگان را دریافت کنید
  • آن را به صورت محلی بارگذاری کنید
  • به هر سوالی که قبلاً برای آن RPCها را می‌زدید پاسخ دهید
  • به هیولای کامل چند میلیارد ردیفی مقیاس دهید

بیایید با هم مالیات RPC را از بین ببریم.

چرا RPCها برای کار تاریخی واقعی خراب می‌شوند

بررسی سریع واقعیت (شما از قبل این را می‌دانید، اما بیایید درد را کمی کنیم):

  • محدوده حداکثر eth_getLogs معمولاً ۱۰k–۵۰k بلوک در ارائه‌دهندگان پولی است.
  • شبکه اصلی کامل = ~۲۲ میلیون بلوک امروز.
  • یک اسکن کامل از همه رویدادهای انتقال دادن؟ انتظار ۲۰۰–۵۰۰ تماس API، ساعت‌ها انتظار، و صورت‌حساب‌های غافلگیرانه ۸۷ دلاری را داشته باشید.
  • می‌خواهید بک‌تست MEV را در ۳ سال Uniswap V3 انجام دهید؟ موفق باشید.
  • محدودیت‌های نرخ، هزینه‌های نود آرشیو، انحراف داده‌ها وقتی ارائه‌دهندگان طرح‌ها را تغییر می‌دهند... کابوس.

من از آن خسته شدم. بنابراین یک موتور استخراج صفر-RPC نوشتم (Fused Semantic Execution در انتظار ثبت اختراع — FSE). یک بار داده های درون زنجیره‌ای خام را می‌خواند، هر رویداد را به ستون‌های تمیز رمزگشایی می‌کند، آن را با signal_type برچسب‌گذاری می‌کند، و مستقیماً به Parquet منتقل می‌کند.

نتیجه؟ مجموعه داده‌هایی مانند:

  • شبکه اصلی اتریوم (اوراکل‌های Chainlink + جریان‌های WETH + هسته کامل DEX): ~۳۵۸ میلیون سیگنال، genesis → tip، ~۱۶ گیگابایت فشرده شده. مجوز مادام‌العمر ۹۹۹ دلار (۲۵٪ تخفیف برای ۱,۰۰۰ خریدار اول).
  • BSC (۷.۷۷ میلیارد رویداد رمزگشایی شده — PancakeSwap، Aave، Chainlink، Wormhole، همه چیز): genesis → بلوک ۸۲M+. خرید یک‌باره در محدوده ۹۹۹–۹,۹۹۹ دلار بسته به زیرمجموعه.
  • آرشیو کامل Sepolia (۳۳۴M+ رویداد، هر دسته): تک ~۱۲.۳ گیگابایت Parquet.

همه به صورت Parquet تحویل داده می‌شوند. ستونی، به طرز دیوانه‌واری فشرده شده (۵–۱۰× کوچک‌تر از CSV)، آماده فشار محمول، با هر ابزار داده مدرن کار می‌کند.

واقعاً چه چیزی داخل Parquet است (طرح ۱۹ ستونی که می‌توانید به آن اعتماد کنید)

هر ردیف یک رویداد رمزگشایی شده است. در اینجا ستون‌های اصلی وجود دارد که هر روز از آنها استفاده خواهید کرد (مشخصات کامل ۱۹ ستونی در اسناد دانلود است):

  • 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 در کد شما نیست.

گام به گام: از صفر تا جستجوی ۳۰۰M+ ردیف در کمتر از ۵ دقیقه

مرحله ۱: نمونه رایگان را دریافت کنید (بدون ایمیل، بدون ثبت نام)

به نمونه رسمی بروید:

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

یا آینه Kaggle: https://www.kaggle.com/datasets/mikekuykendall/ethereum-onchain-signals

فایل Parquet را دانلود کنید (~۵–۱۰ مگابایت، ۱۰,۰۰۰ ردیف طبقه‌بندی شده که هر signal_type را پوشش می‌دهد).

مرحله ۲: ابزارها را نصب کنید (۶۰ ثانیه طول می‌کشد)

من DuckDB را توصیه می‌کنم — برای این کار جادویی است.

pip install duckdb pandas pyarrow
# or just brew install duckdb on Mac

مرحله ۳: بارگذاری و کاوش (این‌ها را کپی-پیست کنید)

یک نوت‌بوک Jupyter یا فقط DuckDB CLI را باز کنید.

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 (اینجا جایی است که جادو اتفاق می‌افتد — حافظه صفر برای فایل‌های عظیم)

-- Launch DuckDB
duckdb

-- Attach the sample
SELECT * FROM read_parquet('ethereum_signals_sample.parquet') LIMIT 10;

مرحله ۴: سوالات واقعی که می‌توانید فوراً پاسخ دهید

"این آدرس چند انتقال 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';

"۱۰ توکن برتر بر اساس تعداد انتقال در سال ۲۰۲۴"

SQL

SELECT contract_address,
COUNT(*) as tx_count
FROM read_parquet('your_full_dataset.parquet')
WHERE signal_type = 'ERC20_Transfer'
AND timestamp >= 1704067200 -- Jan 1 2024
AND timestamp < 1735689600 -- Jan 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 ۹۹٪ از داده‌ها را روی دیسک رد می‌کند. شما میلیاردها ردیف را سریع‌تر از اینکه بیشتر مردم بتوانند توییتر را اسکرول کنند، جستجو خواهید کرد.

مرحله ۵: رفتن به مجموعه داده کامل

  1. مجوز خود را در https://deltazerolabs.dev بخرید (بسته‌های mainnet، BSC یا Sepolia).
  2. لینک دانلود فوری + کلید دانلود مجدد مادام‌العمر.
  3. از حالت فشرده خارج کنید (در صورت نیاز) → جستجوهای خود را به Parquet(s) اشاره دهید.
  4. انجام شد. دیگر هرگز صورت‌حساب ماهانه نیست.

نکته ذخیره‌سازی: مجموعه کامل BSC بزرگ است اما قابل فشرده‌سازی است و روی یک ماشین ۶۴ گیگابایت RAM به خوبی اجرا می‌شود. برای گردش کارهای بزرگ‌تر فقط یک جعبه ارزان Hetzner با ۱۲۸ گیگابایت RAM راه‌اندازی کنید و DuckDB هنوز انبارهای ابری را از نظر هزینه شکست می‌دهد.

برد‌های دنیای واقعی که خریداران من به دست می‌آورند

  • جستجوگران MEV بک‌تست منطق مسیریابی را در ۴ سال داده های DEX در <۲ دقیقه انجام می‌دهند.
  • تیم‌های انطباق ردیابی هر انتقال NFT برای یک مجموعه بدون Etherscan محدود به نرخ.
  • صندوق‌های کوانت ساخت نمرات سلامت کیف پول از جریان کامل WETH + تاریخچه لیکوییدیشن.
  • محققان نوشتن مقالات با جستجوهای قابل تکرار (فقط SQL + نسخه مجموعه داده را به اشتراک بگذارید).

یک خریدار به من گفت: "من طرح RPC ۱,۲۰۰ دلار در ماه خود را همان روزی که مجموعه داده فرود آمد لغو کردم."

جدول مقایسه (چون شما این‌ها را دوست دارید)

رویکردهزینهسرعت برای تاریخچه ۳ سالهنگهداریمالکیتحلقه‌های RPC خام۲۰۰–۲۰۰۰ دلار در ماهساعت‌ها–روزهاثابتشما بازسازی می‌کنیدساب‌گراف‌ها/The Graphرایگان–پولیسریع اما ناقصریسک ارائه‌دهندهخیرCryo self-extractزمان شما + نودروزها برای استخراججاری‌بلهDelta Zero Parquetیک‌بار ۹۹۹ دلار+ثانیهصفربرای همیشه

آماده کشتن صورت‌حساب RPC خود هستید؟

  1. همین الان نمونه رایگان را دانلود کنید: https://huggingface.co/datasets/MikeKuykendall/ethereum-signals-sample
  2. جستجوهای بالا را اجرا کنید. سرعت را احساس کنید.
  3. وقتی برای هیولای کامل genesis-to-tip آماده هستید (mainnet، BSC یا Sepolia)، به https://deltazerolabs.dev/bsc بروید و مجوز مادام‌العمر خود را دریافت کنید.

۱,۰۰۰ خریدار اول در mainnet/BSC با کد EARLY25 در پرداخت ۲۵٪ تخفیف دریافت می‌کنند.

سوالات؟ در X @_MikeKuykendall به من پیام مستقیم بدهید یا به کانال تلگرام متصل شده در سایت بپیوندید. من به هر یک پاسخ می‌دهم — این یک عملیات تک‌نفره متعلق به یک جانباز است و من واقعاً اهمیت می‌دهم که شما با داده‌ها برنده شوید.

اجاره پرداخت کردن برای داده‌هایی که باید مال شما باشد را متوقف کنید.

نمونه را دانلود کنید. جستجوها را اجرا کنید. سپس دیگر هرگز eth_getLogs دیگری فراخوانی نکنید.

شما را درون زنجیره‌ای (آفلاین) می‌بینم.

— مایک کایکندال Delta Zero Labs پی‌نوشت: افت زنجیره بعدی به زودی می‌آید. دسترسی زودهنگام + انواع سیگنال سفارشی می‌خواهید؟ به من پیام مستقیم بدهید.


من برای همیشه از جهنم RPC خلاص شدم: راهنمای کامل Parquet از Genesis تا Tip شما برای… در ابتدا در Coinmonks در Medium منتشر شد، جایی که مردم با برجسته کردن و پاسخ دادن به این داستان به مکالمه ادامه می‌دهند.

سلب مسئولیت: مطالب بازنشرشده در این وب‌ سایت از منابع عمومی گردآوری شده‌ اند و صرفاً به‌ منظور اطلاع‌ رسانی ارائه می‌ شوند. این مطالب لزوماً بازتاب‌ دهنده دیدگاه‌ ها یا مواضع MEXC نیستند. کلیه حقوق مادی و معنوی آثار متعلق به نویسندگان اصلی است. در صورت مشاهده هرگونه محتوای ناقض حقوق اشخاص ثالث، لطفاً از طریق آدرس ایمیل crypto.news@mexc.com با ما تماس بگیرید تا مورد بررسی و حذف قرار گیرد.MEXC هیچ‌ گونه تضمینی نسبت به دقت، جامعیت یا به‌ روزبودن اطلاعات ارائه‌ شده ندارد و مسئولیتی در قبال هرگونه اقدام یا تصمیم‌ گیری مبتنی بر این اطلاعات نمی‌ پذیرد. همچنین، محتوای منتشرشده نباید به‌عنوان توصیه مالی، حقوقی یا حرفه‌ ای تلقی شود و به منزله پیشنهاد یا تأیید رسمی از سوی MEXC نیست.