Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
مهمة المجمع هي منح المستخدم أفضل سعر ممكن عبر عدد كبير من المجموعات، وقد يتم تقسيم المدخل الواحد عبر عدة مسارات المجموعات، وتنفيذه بشكل ذري. توثق هذه الصفحة الأجزاء الخاصة بـ Raydium من هذه المهمة: الاكتشاف والعروض وتجميع المعاملات.
الاكتشاف
جرد المجموعات
تحتاج إلى القائمة الكاملة لمجموعات Raydium المباشرة لكل منتج. لديك ثلاث خيارات:- REST API (الأبسط):
GET https://api-v3.raydium.io/pools/info/list?poolType=all&pageSize=1000&page=1يعيد المجموعات على دفعات من 1000. استمر في الترقيم حتى تحصل عليها جميعاً. احفظ الذاكرة المؤقتة لمدة 1–5 دقائق. - الفحص على السلسلة:
getProgramAccountsعلى معرفات برامج CPMM و CLMM و AMM v4، المصفاة حسب محدد حساب الحالة. يعطي ~كل مجموعة مباشرة مع ~10 ثوان من وقت RPC. مفيد عندما تكون API معطلة أو محدودة المعدل. - الهجين: استخدم API كمصدر أساسي؛ قم بإجراء فحص يومي على السلسلة كفحص صحة. يلتزم الفريق بالحفاظ على شمولية API، لكن المجموعات المُنشأة من خلال CPI مباشر (بدون واجهة أمامية) قد تتأخر أحياناً.
بحث الزوج الرمزي
لزوج(mintA, mintB) محدد، استخدم GET /pools/info/mint?mint1=...&mint2=...&poolType=all&sort=liquidity. يعيد كل مجموعة على أي درجة رسوم ونوع منتج. ما يصل إلى ~10 نتائج لكل زوج أمر شائع على الرموز المزدحمة؛ فرز حسب TVL واختر أفضل عدة لتوجيه المسار.
العروض
تختلف رياضيات العروض حسب المنتج. استخدم وظائف الرياضيات البحتة في SDK حتى لا تعيد تطبيقها:{ amountOut, fee, priceImpact, minAmountOut }. لمقارنة المجمع، استخدم amountOut (قبل الانزلاق).
حداثة الذاكرة المؤقتة
حالة المجموعة تصبح قديمة بسرعة. أهداف الحداثة الموصى بها:| نوع المجموعة | تكرار إعادة الجلب | السبب |
|---|---|---|
CPMM مع <$100k TVL | <10s | الاحتياطيات تتحرك في كل صفقة. |
CPMM مع >$10M TVL | 30–60s | الاحتياطيات الرئيسية؛ الصفقات الصغيرة هي ضوضاء. |
| CLMM | <30s | حدود التجزئة؛ صفقة واحدة كبيرة يمكن أن تعيد تكوين السيولة. |
| AMM v4 | <30s | حركات جانب OpenBook غير ملتقطة في الخزائن. |
accountSubscribe) على كل حالة مجموعة ذات صلة. هذا يقلب النموذج من الاستقصاء إلى الدفع.
تعديلات Token-2022
إذا كان أي رمز في المسار يحتوي على رسم نقل Token-2022، يجب أن تعدل رياضيات العرض المدخلات والمخرجات لكلalgorithms/token-2022-transfer-fees. يتعامل SDK مع هذا إذا تم ملء poolInfo.mintA.extensions.transferFeeConfig. أكّد بالنظر إلى حقل .extensions قبل الوثوق بالعرض.
التوجيه
مسارات المجموعة الواحدة
معظم المسارات عبارة عن مجموعة واحدة. اختر المجموعة التيamountOut بها أعلى. إذا كانت عدة قريبة، فاكسر العلاقة حسب درجة الرسوم (الأقل أفضل)، ثم حسب TVL (الأكثر أكثر أماناً).
توجيه مقسم
بالنسبة للصفقات الكبيرة حيث تحتوي مجموعة واحدة على >5% تأثير السعر، قسّم عبر المجموعات. خوارزمية جشعة بسيطة:[(pool_A, 0.6), (pool_B, 0.3), (pool_C, 0.1)] يقلل التأثير الكلي. الحل التحسيني المحدب المناسب (على سبيل المثال، معادلة الأسعار الهامشية عبر المجموعات) يقع ضمن ~1% من النتيجة الجشعة في الممارسة.
مسارات متعددة القفزات
USDC → RAY → SOL عبر مجموعتين منفصلتين أمر شائع عندما لا تعطي مجموعة USDC-SOL مباشرة عرضاً جيداً (نادر جداً). طبّق حدود الانزلاق لكل قفزة؛ تفرض كل قفزة minAmountOut الخاص بها. انظر algorithms/slippage-and-price-impact.
القفزات المتعددة عبر نفس المجموعة (على سبيل المثال، قفزتان CLMM على SOL-USDC) أقل كفاءة دائماً من قفزة واحدة — لا تولّد مثل هذه المسارات.
تجميع المعاملات
قفزة واحدة، مجموعة واحدة
استخدمraydium.trade.swap الخاص بـ SDK مباشرة:
انقسام وقفزات متعددة
ركّب ATAs والتعليمات يدويًا. النمط:الذرية
يجب أن تضمن المجمعات الذرية: إما أن ينزل المسار الكامل أو لا ينزل أي منه. تعليمات Raydium swap تعود إلىExceededSlippage، لذلك مسار متعدد المجموعات حيث تفشل قفزة واحدة يسبب المعاملة بأكملها للعودة. مجاني.
الاستثناء الوحيد: إذا ذهب المسار الخاص بك عبر Raydium + DEX تابع لجهة خارجية، تأكد من أن DEX أيضاً لديه نموذج الانعكاس على الانزلاق. بعض البرامج تتجاهل حدود الانزلاق (نادرة جداً).
الثغرات
1. عروض قديمة
بين رؤية المستخدم “ستتلقى 125.43 RAY” وهبوط المعاملة، يمكن أن تتغير الاحتياطيات. أعد جلب حالة المجموعة على الفور قبل الإرسال؛ أعد العرض؛ إذا كان العرض الجديد أسوأ >1%، توقف وأعد التأكيد مع المستخدم.2. قوائم سوداء المجموعات
بعض مجموعات Raydium هي رموز احتيالية برسوم نقل مضبوطة على 99% أو بامتدادات غير قابلة للنقل. تصنف API REST هذه (انظر حقلtags)؛ تخطّ أي مجموعة موسومة scam أو honeypot. تشغيل الفحوصات الأمنية الخاصة بك فوق علامات Raydium أمر حكيم.
3. مطلب حالة الملاحظة على CLMM
CLMMSwapV2 يأخذ حساب observation_state. يملأه SDK لك؛ التعليمات المبنية يدويًا غالباً ما تنسى، مما يسبب البرنامج للعودة بـ AccountNotFound. تضمن دائماً تضمينه.
4. جداول بحث العناوين
تحافظ Raydium على جداول بحث عامة لأكثر حساباتها استخداماً (الرموز الرئيسية، معرفات البرنامج، AmmConfigs). يجب على المجمعات استهلاك هذه — فهي توفر ~100 بايت لكل معاملة وتمكّن المسارات الأكبر من أن تناسب V0. سحب عناوين LUT:5. التعامل مع الازدحام
خلال نوافذ الحجم المرتفع، يمكن للمعاملات أن تجلس في mempool لعدة كتل. إعادة محاولة عدوانية عند انتهاء صلاحية TX (وليس عند الارتجاع — الارتجاع حتمي) موصى به. خيار SDKsendAndConfirm يفعل محاولات أساسية؛ المجمعات الإنتاجية تقيّد منطقها الخاص (حزم Jito، بث RPC متعدد) في الأعلى.
قائمة التحقق
قبل الانطلاق، تحقق من:- اكتشاف المجموعة يغطي CPMM + CLMM + AMM v4 بشكل شامل.
- العروض تطابق عرض واجهة Raydium الخاصة ضمن 1 نقطة أساس في حفنة من الصفقات الاختبارية.
- توجيه الانقسام يبدأ للصفقات >5% تأثير على أي مجموعة واحدة.
- رسوم الأولوية مختارة ضد رسوم برنامج المجموعة الحديثة (انظر
integration-guides/priority-fee-tuning). - رسوم نقل Token-2022 محسوبة وموضحة للمستخدم.
- المعاملات تعود بشكل نظيف عندما يتم تجاوز الانزلاق.
- منطق الإعادة يميز انتهاء صلاحية tx (إعادة محاولة) من الارتجاع (لا تعيد محاولة).
المؤشرات
integration-guides/routing-and-mev— مقاومة الشطيرة، الحزم.integration-guides/priority-fee-tuning— حجم تعليمات الميزانية الحسابية.sdk-api/rest-api— نقاط نهاية قائمة المجموعات.


