Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
إصدار البرنامج. جميع الأمثلة تستهدف @raydium-io/raydium-sdk-v2@0.2.64-alpha على Solana mainnet-beta، تم التحقق منها في 2026-09-09 — تم فحص كل اسم بانٍ وكل اسم معامل وكل نوع معامل أدناه مقابل مصدر ذلك الإصدار ومقابل raydium-sdk-V2-demo/src/amm. معرّف البرنامج: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (انظر reference/program-addresses).فخّان يوقعان معظم التكاملات الأولى: slippage في computeAmountOut هو رقم عادي (0.005 = 0.5%)، وليس Percent؛ و liquidity.swap يتطلب inputMint كسلسلة base58.إنشاء تجمع جديد غير معروض هنا. لم تعد واجهة Raydium تقدم إنشاء تجمعات AMM v4 — الأزواج الجديدة تتخلف إلى CPMM. لا يزال برنامج AMM v4 نفسه يقبل Initialize2 على السلسلة؛ لكنه ليس المسار الموصى به. تغطي الأمثلة أدناه عمليات التجمعات النشطة التي لا يزال كل مدمج يحتاجها: المبادلة والإيداع والسحب.
إنشاء مجموعة جديدة غير موضح هنا. واجهة Raydium لم تعد توفر إنشاء مجموعة AMM v4 — الأزواج الجديدة تنتقل افتراضيًا إلى CPMM. برنامج AMM v4 نفسه لا يزال يقبل Initialize2 على السلسلة؛ فقط أنه ليس المسار الموصى به. الأمثلة أدناه تغطي عمليات المجموعة المباشرة التي يحتاجها كل مدمج: swap و deposit و withdraw.

الإعداد

جلب مجموعة حسب المعرّف

poolKeys هو الهيكل الذي تستهلكه منشئات التعليمات. يحمل كل حساب AMM v4 بالترتيب الذي يتوقعه البرنامج، بالإضافة إلى حقول السوق القديمة التي يقبلها البرنامج الحالي موضعيًا لكنه لم يعد يقرأها.

المبادلة (base-in)

SDK يوجه مبادلات AMM v4 عبر نقاط الدخول V2، التي لا تحمل حسابات OpenBook. (بعد ترقية 2026-07، لم تعد حسابات السوق مُتحققة حتى على المسار v1 القديم.)

المبادلة (base-out)

إضافة السيولة

fixedSide: "a" يخبر SDK أنك قدمت amountInA الدقيق وأن amountInB يجب أن يكون على الأكثر maxAnotherAmount. تعمل الحسابات التناسبية على أرصدة الخزائن مطروحًا منها PnL المتراكم — لم يبقَ أي مكوّن على دفتر الأوامر لتسويته أولاً.

إزالة السيولة

حدود الانزلاق الدنيا تحمي من تغيير حالة المجموعة بين الاقتباس المسبق ووقت الهبوط.

ضبط وحدة الحساب / رسم الأولوية

منذ إزالة OpenBook لم تعد مبادلة AMM v4 تتحقق من أي حالة سوق، لذا فإن SwapBaseIn من الإصدار V1 أرخص بشكل ملحوظ مما كانت عليه — و SwapBaseInV2 (8 حسابات، بلا حسابات سوق بديلة) أرخص منها أيضًا. قِس مسارك الخاص بدلاً من وضع الميزانية على أرقام تاريخية، ومرّر دائمًا حدًا صريحًا لوحدات الحساب:
إذا حذفت computeBudgetConfig، قد يستخدم SDK الافتراضي الخاص به؛ افحص transaction المُرجَع للتأكد. انظر integration-guides/priority-fee-tuning.

CPI مباشر Rust

إذا كان يجب عليك CPI في AMM v4 من برنامج Anchor الخاص بك، ستحتاج إلى نمذجة قائمة حسابات SwapBaseIn حرفيًا. رسم بسيط:
AMM v4 لا يشحن صندوق Anchor لـ CPI. الرسم أعلاه يستخدم Instruction مُنشأ يدويًا.
الرسم CPI أعلاه يستخدم تخطيط SwapBaseIn v1 القديم (الوسم 9، 17 حساب) لقراءة/إعادة إنتاج المعاملات الموجودة. منذ ترقية 2026-07 يتم قبول حسابات السوق لكن يتم تجاهلها. للكود الجديد، فضّل SwapBaseInV2 / SwapBaseOutV2 (الوسوم 16 / 17)، التي تسقط حسابات السوق (amm_open_orders) بالكامل — مرر فقط 8 حسابات: token_program، amm، amm_authority، خزانتا المجموعة، حسابات الرموز للمستخدم، و user_owner.

الأخطاء الشائعة

  • عدد حسابات خاطئ على مبادلات v1. SwapBaseIn / SwapBaseOut القديمة لا تزال تتطلب قائمة 17 حساب (أو 18 حساب) كاملة — عدم تطابق العدد يرجع مع WrongAccountsNumber. محتويات حسابات السوق لم تعد مُتحققة، لكن يجب عليك لا تزال احتلال فتحاتها. فضّل نقاط الدخول V2 لتجنب هذا.
  • قراءة أرصدة الخزانة الخام. الاحتياطيات الآن خزانة فقط؛ اطرح الربح/الخسارة المتراكمة (need_take_pnl_*). اقتباس SDK أو api-v3.raydium.io/pools/info/ids يتعامل مع هذا لك.
  • استدعاء التعليمات المحذوفة. MonitorStep، MigrateToOpenBook، WithdrawSrm، SimulateInfo، AdminCancelOrders، و Initialize / PreInitialize القديمة الآن ترجع. استخدم Initialize2 لإنشاء المجموعة؛ لا يوجد crank للاستدعاء.
  • رموز Token-2022. غير مدعومة. لا يمكن إنشاء مجموعة AMM v4 مقابل رمز Token-2022؛ أي زوج Token-2022 يجب أن يكون على CPMM أو CLMM.

الخطوات التالية

المصادر: