هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
ما يفعله هذا. يحمّل مجموعة CPMM من RPC، يقتبس مبادلة بانزلاق 0.5%، يبني المعاملة، يوقّعها بمفتاحك الخاص، وينشرها. من البداية إلى النهاية في حوالي 30 سطر.
الإعداد
تأكد من أنك قرأت متطلبات البدء السريع وأن لديكRPC_URL وKEYPAIR والمكتبات المثبتة.
السكريبت
احفظه باسمswap.mjs:
swap.mjs
شغّله
اختر أي مجموعة CPMM لديك سيولة فيها. مثال مع مجموعة SOL/USDC CPMM الرسمية:ما الذي حدث للتو
Raydium.loadهيّأ SDK — جلب الإعدادات العامة، أعدّ سياق محفظتك.getPoolInfoFromRpcسحب حالة المجموعة المباشرة من RPC (وليس من ذاكرة التخزين المؤقت للـ API). بالنسبة للمبادلات عالية القيمة، تريد دائماً حالة طازجة.CurveCalculator.swapحسب مخرجات الناتج الثابت بعد خصم رسوم المجموعة. هذه هي نفس الرياضيات التي يشغلها البرنامج على السلسلة، لذا يمكنك مقارنة الاقتباسات خارج السلسلة وعلى السلسلة.raydium.cpmm.swapبنى المعاملة بصيغة V0 (جداول البحث عن العناوين مفعّلة) وأضاف إعدادات ميزانية حسابية صريحة. تساعد نصيحة الميزانية الحسابية المعاملة على الهبوط في النوافذ المزدحمة.execute({ sendAndConfirm: true })وقّع وأرسل وانتظر التأكيد.
الأخطاء الشائعة
Pool not found— معرّفPOOL_IDخاطئ، أو أنت موجّه نحو المجموعة الخاطئة (معرّف مجموعة mainnet مقابل RPC devnet، إلخ).Insufficient funds for transaction— محفظتك لا تحتوي على SOL كافٍ لمدخلات المبادلة + الرسوم + إيجار ATA.Slippage tolerance exceeded— تحرّك سعر المجموعة بين الاقتباس والتنفيذ. أعد التشغيل؛ أو ارفع معاملslippage؛ أو استخدمcomputeAmountOutالخاص بـ SDK الذي يعيد جلب الاحتياطيات دائماً.Token account not initialized— لم يكن ATA الخاص برمز الإخراج موجوداً وهبطت تعليمات الإنشاء الضمنية لكنها فشلت لسبب ما؛ تحقق من رصيد SOL في محفظتك وحاول مرة أخرى.
التالي
sdk-api/typescript-sdk— مرجع SDK الكامل.products/cpmm/instructions— كيف تبدو تعليمات المبادلة على السلسلة.integration-guides/priority-fee-tuning— تحديد حجمcomputeBudgetConfigللإنتاج.

