هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
إصدار البرنامج. جميع الأمثلة تستهدف
@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)
المبادلة (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 حرفيًا. رسم بسيط:
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.
الخطوات التالية
products/amm-v4/instructions— سطح مستوى التعليمات خلف هذه الأمثلة.user-flows/migrate-amm-v4-to-cpmm— إذا كنت مزود سيولة تفكر في الهجرة.integration-guides/priority-fee-tuning— حجم رسم الأولوية لمبادلات AMM v4 الثقيلة.

