Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
إصدار البرنامج. جميع الأمثلة تستهدف @raydium-io/raydium-sdk-v2@0.2.42-alpha على Solana mainnet-beta، تم التحقق منها في 2026-04. معرّف البرنامج: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (انظر reference/program-addresses).
إنشاء مجموعة جديدة غير موضح هنا. واجهة Raydium لم تعد توفر إنشاء مجموعة AMM v4 — الأزواج الجديدة تنتقل افتراضيًا إلى CPMM. برنامج AMM v4 نفسه لا يزال يقبل Initialize2 على السلسلة؛ فقط أنه ليس المسار الموصى به. الأمثلة أدناه تغطي عمليات المجموعة المباشرة التي يحتاجها كل مدمج: swap و deposit و withdraw.

الإعداد

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

poolKeys هو الهيكل الذي تستهلكه منشئات التعليمات. يحمل كل حساب AMM v4 و OpenBook بالترتيب الذي يتوقعه البرنامج.

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

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

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

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

fixedSide: "a" يخبر SDK أنك قدمت amountInA الدقيق وأن amountInB يجب أن يكون على الأكثر maxAnotherAmount. يتم تسوية السيولة المباشرة للمجموعة قبل حساب النسبة المئوية بحيث تطابق نسبة الإيداع أحدث الاحتياطيات.

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

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

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

مبادلات AMM v4 ثقيلة على الحساب لأن كل تعليمة تتحقق من حالة OpenBook الكاملة. عادة ما تستخدم المبادلة النموذجية 180k–250k CU اعتمادًا على عدد الطلبات المفتوحة التي تحتاج إلى تسوية في الطريق. مرر دائمًا حد وحدة الحساب:
إذا حذفت computeBudgetConfig، قد يستخدم SDK الافتراضي الخاص به؛ افحص innerTransactions للتأكد. انظر 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.

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

المصادر: