آموزش ربات پلیمارکت ·
مقایسه ارائهدهندههای Polygon RPC برای رباتهای پلیمارکت در ۲۰۲۶: Alchemy، QuickNode، Ankr، نقطههای پایانی عمومی، خودمیزبان. تأخیر، محدودیت نرخ، و سطح رایگان قابلاستفاده برای معاملهٔ آزمایشی.
این فصل چه چیزهایی را پوشش میدهد
نقطهٔ پایانی Polygon RPC تنها نمای مستقیم ربات از وضعیت رویزنجیره است - موجودیها، مقادیر مجاز (allowance)، تاییدهای تسویه، رویدادهای UMA. API خود پلیمارکت بیشتر این موارد را پنهان میکند، اما یک ربات نسخهٔ تولید باید واقعیت رویزنجیره را بخواند تا دفترداری خودش را راستیآزمایی کند. این فصل ارائهدهندههای اصلی RPC را زیر بار زنده مقایسه میکند، آستانههای سطح رایگان را که در آن هر کدام از کار میافتند مشخص میکند، و در پایان به الگوی جایگزینی خودکار (failover) دو-ارائهدهندهای میرسد که بیشتر رباتها در نهایت بهکار میگیرند.
این فصل ۵ از مجموعه ۳۲ بخشی ما درباره ساختن یک ربات معاملهگری پلیمارکت است. ما موضوع را در بخشهای زیر بهصورت عمیق پوشش میدهیم. محتوای اصلی هر بخش بهصورت فصلبهفصل در حال نوشته شدن و انتشار است؛ پاسخهای پرسشهای متداول و منابع از قبل کامل شدهاند و تجربهٔ نسخهٔ تولید حاصل از اجرای معاملهگر خودمان را بازتاب میدهند.
- RPC برای ربات شما چه کاری انجام میدهد
- Alchemy: سطح رایگان و قیمتگذاری
- QuickNode: نودهای اختصاصی
- Ankr: ارزانترین سطح پرداختی
- Polygon RPCهای عمومی (رایگان، با محدودیت نرخ)
- نود Polygon خودمیزبان (چه زمانی منطقی است)
- بنچمارکهای تأخیر (US-East در برابر EU)
- الگوهای جایگزینی خودکار (failover)
RPC برای ربات شما چه کاری انجام میدهد
یک نقطهٔ پایانی RPC آدرس HTTPS یا WebSocket است که ربات شما از طریق آن وضعیت زنجیرهٔ Polygon را میخواند و مینویسد. برای یک ربات پلیمارکت، RPC چهار کار انجام میدهد.
- خواندن موجودیها: چه مقدار pUSD یا USDC در پراکسی قرار دارد، و واقعاً چند توکن نتیجه در اختیار دارید. این برای راستیآزمایی این که نمای API CLOB با واقعیت زنجیره مطابقت دارد ضروری است.
- خواندن مقادیر مجاز (allowance): این که آیا قراردادهای پلیمارکت میتوانند توکنهای شما را خرج کنند یا نه. یک مقدار مجاز اشتباه باعث ردهای خاموش سفارش میشود.
- اشتراک در رویدادها: پیشنهادها (proposal) و مناقشههای UMA Optimistic Oracle، تاییدهای واریز، انتقالهای بزرگ رویزنجیره از کیفپولهای دیگر.
- راستیآزمایی تسویه: وقتی CLOB میگوید «matched»، زنجیره هنوز انتقال ERC-1155 را تأیید نکرده است. خواندن زنجیره تایید میکند که واقعاً انجام شده است.
ربات از طریق RPC سفارش را امضا نمیکند - امضای سفارش بهصورت محلی انجام میشود و بستهٔ دادهٔ امضاشده (payload) به CLOB HTTP API فرستاده میشود. RPC برای بیشتر استراتژیها صرفاً یک کانال خواندن و رویداد است.
Alchemy: سطح رایگان و قیمتگذاری
Alchemy پرکاربردترین ارائهدهندهٔ Polygon RPC در میان سازندگان پلیمارکت است که ما میشناسیم. سطح رایگان بیشتر موارد استفادهٔ معاملهٔ آزمایشی و رباتهای کوچک را پوشش میدهد: 300 واحد محاسباتی در ثانیه، 300 میلیون در ماه، همان داشبوردی که برای راهاندازی نقطههای پایانی Polygon mainnet و Polygon testnet استفاده میشود.
یک ربات معمولی ۲۰-بازاری که موجودیها بهعلاوهٔ رویدادهای UMA را هر ۳۰ ثانیه میخواند، حدود 50-80 میلیون CU در ماه مصرف میکند، که بهراحتی زیر سقف رایگان است. طرحهای پرداختی از حدود 50 دلار در ماه شروع میشوند و بیشتر توان عملیاتی بالاتر در هر ثانیه میخرند، نه تعداد فراخوانی بیشتر. محدودیت نرخِ سطح رایگان همان قیدی است که بیشتر رباتهای معاملهٔ آزمایشی به آن میخورند، نه حجم ماهانه.
Alchemy یک داشبورد مفید برای بررسی درخواستهای ناموفق و یک تفکیک تأخیر به ازای هر متد (method) ارائه میدهد که هنگام اشکالزدایی خواندنهای کند بسیار کمککننده است. همین داشبورد بهتنهایی ارزش انتخاب آنها را نسبت به یک ارائهدهندهٔ بدون داشبورد برای ربات اول دارد.
QuickNode: نودهای اختصاصی
QuickNode خودش را برای نیازهای با توان عملیاتی بالاتر جای میدهد. قیمتگذاری آن بر اساس حجم ماهانهٔ درخواست مقیاس میگیرد نه بر اساس سطحها - که بیشتر برای رباتهایی مهم است که تعداد زیادی فیلتر رویداد WebSocket اشتراک میگیرند یا پرسوجوهای سنگین روی لاگ تاریخی انجام میدهند. سطح ورودی حدود 10-20 دلار در ماه است و پشتیبانی WebSocket را شامل میشود که بعضی سطحهای رایگان Alchemy آن را محدود (throttle) میکنند.
تأخیرِ هر درخواست در US-East معمولاً 5-15ms است، که زیر بار کمی بهتر از سطح رایگان Alchemy است. برای یک ربات تک-استراتژی این تفاوت محسوس نیست؛ برای یک بازارساز که به 100 بازار قیمت میدهد میتواند مهم باشد. دسترسی به نود آرشیوی آنها (وضعیت تاریخی کامل) اگر استراتژی شما به آن نیاز داشته باشد، از سه ارائهدهندهٔ اصلی ارزانتر است.
نقطهٔ درد: پاسخهای خطای JSON-RPC آنها از Alchemy کمتر مشخص است، بنابراین وقتی یک متد (method) شکست میخورد اشکالزدایی زمان بیشتری میبرد.
Ankr: ارزانترین سطح پرداختی
Ankr ارزانترین Polygon RPC پرداختی را در میان ارائهدهندگان اصلی عرضه میکند - حدود 10 دلار در ماه برای طرح premium ابتدایی با 1,500 CU در ثانیه. سطح رایگان محدودیتهای سختی دارد اما برای معاملهٔ آزمایشی قابلاستفاده است.
دو هشدار. اول، نقطهٔ پایانی متعادلشده (load-balanced) Ankr گاهی اوقات دادههای بلاک کمی کهنه سرویس میدهد (1-2 بلاک عقبتر از نوک زنجیره). برای خواندنهای موجودی، این خوب است؛ اما برای استراتژیهای آربیتراژ که به آخرین بلاک وابستهاند، مشکل مهمی است. دوم، زمان پاسخ پشتیبانی آنها وقتی نودهای یک منطقه مشکل دارند، از Alchemy یا QuickNode کندتر است.
Ankr برای رباتهای حساس به هزینه یک ارائهدهندهٔ اصلی منطقی و بهعنوان ارائهدهندهٔ پشتیبان، صرفنظر از ارائهدهندهٔ اصلی، عالی است. بخش الگوی جایگزینی خودکار (failover) در زیر توضیح میدهد که چگونه آنها را با هم ترکیب کنید.
Polygon RPCهای عمومی (رایگان، با محدودیت نرخ)
Polygon چندین نقطهٔ پایانی عمومی رایگان RPC منتشر میکند - polygon-rpc.com، rpc.ankr.com/polygon (عمومی، جدا از Ankr پرداختی)، و چند مورد میزبانیشده توسط جامعه (community-hosted) دیگر. آنها کار میکنند، اما با ملاحظاتی.
- محدودیتهای نرخ شدید و مستندنشده هستند. اگر بهطور پایدار از حدود 10 درخواست در ثانیه بیشتر شوید، انتظار محدودسازی (throttle) داشته باشید.
- بدون پشتیبانی، بدون داشبورد. وقتی یک نقطهٔ پایانی شکست میخورد، از بالا رفتن نرخ خطای رباتتان متوجه میشوید.
- اغلب 1-3 بلاک عقب هستند. برای خواندنهای غیرحساس به زمان مناسب است.
از نقطههای پایانی عمومی برای این موارد استفاده کنید: توسعه روی لپتاپ، سطح سوم یک پشتهٔ جایگزینی خودکار (failover) (بعد از دو ارائهدهندهٔ پرداختی)، اسکریپتهای یکباره. برای معاملهٔ زنده با ربات از نقطهٔ پایانی عمومی بهعنوان ارائهدهندهٔ اصلی استفاده نکنید.
نود Polygon خودمیزبان (چه زمانی منطقی است)
اجرای نود کامل خودتان برای Polygon قابل انجام است - Bor + Heimdall روی یک VPS با 4 vCPU و 16GB RAM و حدود 2 ترابایت SSD، و همگامسازی در چند روز. محاسبه بهنفع یا بهضرر آن ساده است.
هزینه: حدود 40-80 دلار در ماه برای VPS بهعلاوهٔ ذخیرهسازی روی یک میزبان بزرگ. تقریباً 4 برابر یک طرح پرداختی RPC راحت.
مزیت: بدون کارمزد به ازای هر درخواست، بدون محدودیت نرخ، و کمترین تأخیر ممکن تا وضعیت زنجیره (1-3ms در برابر 20-50ms از طریق اینترنت به یک ارائهدهندهٔ میزبانیشده).
دردسر: مدیریت عکسهای لحظهای (snapshot)، حالتهای کرش Heimdall و Bor، و همگامسازی متوقفشده در میانهٔ معامله باعث خواندنهای کهنه و خاموش میشود.
برای 95٪ سازندگان، خودتان میزبانی نکنید. ساعتهایی که صرف نگهداری نود میشود، صرفهجویی در صورتحساب RPC را چند برابر میبلعد. فقط زمانی خودتان میزبانی کنید که استراتژی شما به 30ms تأخیر خواندن در PnL اهمیت میدهد و قبلاً استراتژی را روی یک ارائهدهندهٔ میزبانیشده اثبات کردهاید.
بنچمارکهای تأخیر (US-East در برابر EU)
میانهٔ زمان رفتوبرگشت (round-trip time) اندازهگیریشده از VPS در سه منطقه به نزدیکترین Polygon RPC هر ارائهدهنده، مه 2026.
| منطقهٔ VPS | Alchemy | QuickNode | Ankr (paid) | polygon-rpc.com |
|---|---|---|---|---|
| NY (US-East) | 14ms | 11ms | 22ms | 34ms |
| AMS (EU) | 21ms | 17ms | 28ms | 41ms |
| SG (Asia) | 97ms | 89ms | 110ms | 140ms |
اعداد هفتهبههفته در حدود 3ms بالا و پایین میشوند. الگو ثابت است: QuickNode و Alchemy در محدوده نویز به هم نزدیکاند؛ Ankr بهطور پیوسته 5-10ms عقبتر است؛ نقطههای پایانی عمومی 15-25ms عقبتر هستند. رباتهای مستقر در Asia یک هزینهٔ اجتنابناپذیر حدود 80ms در برابر ستون فقرات شبکهٔ (backbone) متمرکز بر آمریکای شمالی Polygon پرداخت میکنند.
الگوهای جایگزینی خودکار (failover)
یک RPC نقطهٔ شکست واحد است. رباتهای نسخهٔ تولید از دو ارائهدهنده با یک قانون جابهجایی ساده استفاده میکنند.
الگو: درخواست اولیه به ارائهدهندهٔ A؛ در صورت پایان مهلت (timeout) (3 ثانیه) یا پاسخ 5xx، تلاش مجدد روی ارائهدهندهٔ B؛ اگر هر دو شکست خوردند، 5 ثانیه صبر کنید و دوباره ارائهدهندهٔ اصلی را امتحان کنید. تعداد شکستهای پیاپی ارائهدهندهٔ اصلی را ردیابی کنید و بعد از 3 شکست، بهصورت خودکار برای 60 ثانیه روی B ثابت شوید، سپس دوباره ارائهدهندهٔ اصلی را بررسی کنید.
ترکیب پیشنهادی: Alchemy پرداختی بهعنوان ارائهدهندهٔ اصلی، و Ankr رایگان یا نقطهٔ پایانی عمومی Polygon بهعنوان پشتیبان. آنها از اپراتورهای نود بالادستی متفاوتی استفاده میکنند، بنابراین یک وقفهٔ کوچک در یکی بهندرت با دیگری همبستگی دارد. از اجرای دو نقطهٔ پایانی از یک ارائهدهندهٔ واحد (مثلاً دو کلید Alchemy) خودداری کنید - این کار هیچ افزونگی واقعیای ایجاد نمیکند.
پیادهسازی: یک لایهٔ نازک (wrapper) روی web3.py یا ethers.js که در هر فراخوانی بین ارائهدهندهها انتخاب میکند. حدود 30 خط کد؛ و اولین بار که یک ارائهدهنده دچار قطعی منطقهای میشود، هزینهاش را جبران میکند.



