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.
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
معلومات الإصدار
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - الشبكة: mainnet-beta
- معرّف برنامج جهاز التوجيه:
routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS - تم التحقق منه: أبريل 2026
المثال الأول: التوجيه المستند إلى SDK
المصدر:src/trade/routeSwap.ts
يجرّد Raydium SDK بناء المسارات. استخدم وظائف التجارة الخاصة بـ SDK لتكوين مسار متعدد القفزات وتنفيذه من خلال جهاز التوجيه تلقائيًا.
الإعداد
بناء مبادلة متعددة القفزات
يتم عرض التوجيه في@raydium-io/raydium-sdk-v2 على raydium.tradeV2. الشكل الشامل — جلب بيانات المجموعة، حساب المسارات، الترتيب حسب الإخراج، وبناء معاملة المبادلة — يظهر أدناه؛ وهذا يتطابق مع المثال الأساسي في raydium-sdk-V2-demo/src/trade/routeSwap.ts.
السلوك المتوقع
يتعامل SDK مع:- اكتشاف المسار عبر AMM v4 و CPMM و CLMM و Stable AMM.
- اشتقاق الحساب (حالات المجموعة، والخزائن، وحسابات المراقبة، وإنشء ATA مسبق).
- تجميع التعليمات لبرنامج جهاز التوجيه (
Router) عندما يكون المسار متعدد القفزات، أو مبادلة مجموعة مباشرة عندما تعطي مجموعة واحدة بالفعل أفضل سعر. - فرض Slippage عبر المعامل
slippageعلىgetAllRouteComputeAmountOut.
raydium.tradeV2.swap أكثر من transaction واحدة — الأولى عادة ما تهيئ ATAs وسيطة والثانية تنفذ المبادلة نفسها. دائمًا مرر sequentially: true إلى execute() حتى تتأكد في الترتيب الصحيح.
المثال الثاني: بناء التعليمات الخام (pseudocode شبيه بـ Rust)
إذا كنت تحتاج إلى تحكم أفضل أو كنت تبني برنامجًا يقوم بـ CPI في جهاز التوجيه، فقم بتشييد التعليمات يدويًا. يستخدم المثال أدناه tag 8 (SwapBaseIn) — الخيار الحالي الموصى به — ويتم التوجيه عبر ATAs المملوكة للمستخدم من البداية إلى النهاية.
السيناريو: USDC → SOL (CPMM) → mSOL (CPMM)
الخطوة 1: اشتقاق ATAs الخاص بالمستخدم
الخطوة 2: جمع الحسابات لكل قفزة
القفزة 1 هي USDC/SOL على CPMM. القفزة 2 هي SOL/mSOL على CPMM.الخطوة 3: بناء التعليمة
الخطوة 4: إرسال المعاملة
المثال الثالث: معالجة الأخطاء
الأخطاء الشائعة وكيفية الاسترجاع:ExceededSlippage
كان الإخراج أقل منminimum_amount_out. أعد المحاولة بتسامح slippage أعلى أو أعد تسعير المسار.
SqrtPriceX64 (CLMM)
انجرف سعر قفزة CLMM خارج حدودlimit_prices. حدّث الحدود وحاول مجددًا.
InvalidOwner
لم يتم امتلاك ATA وسيط أو إخراج من قبل المتصل. يتحقق جهاز التوجيه من الملكية على كل فتحة؛ تأكد من أن كل ATA تمررها تم اشتقاقها من محفظة المستخدم (لا من أي سلطة أخرى).نصائح وأفضل الممارسات
إنشاء ATAs الوسيطة مسبقًا
قبل التوجيه من خلال رمز وسيط جديد للمرة الأولى، أنشئ ATA الخاص بالمستخدم بحيث لا يفشل المسار في التحقق من الصحة:CreateSyncNative (tag 5) — إنه ينشئ ATA ويحول SOL ويزامن في تعليمة واحدة.
احصل على السعر قبل التنفيذ
دائمًا ابحث عن المجموعات واحسب الإخراج المتوقع قبل بناء التعليمة:استخدم متغيرات التعليمة الأحدث (8–9)
Tags 8 و 9 (SwapBaseIn و SwapBaseOut) أكثر مرونة مع limit_prices. فضّلها على المتغيرات القديمة إذا كنت لا تحتاج إلى التحقق من سعر CLMM.
ما الخطوة القادمة
products/routing/instructions— مرجع التعليمة الكامل.products/routing/accounts— تفاصيل اشتقاق الحساب.products/cpmm/code-demos— أمثلة مبادلة CPMM للمقارنة.reference/program-addresses— معرّفات البرنامج الأساسية وعناوين devnet.
@raydium-io/raydium-sdk-v2على npmraydium-io/raydium-sdk-V2(مفتوح المصدر)raydium-io/raydium-sdk-V2-demo— عروض توضيحية شاملة رسمية تشملrouteSwap.ts- لم يتم نشر مصدر برنامج AMM Routing علنًا؛ تحقق من معرّف البرنامج مقابل API المباشر وبايتكود السلسلة


