Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
ما يفعله هذا السكريبت. ينشئ مجمع CPMM جديد تماماً لعملتين تحددهما، ويختار فئة الرسوم 0.25%، ويزرع السيولة الأولية بالسعر المضمن في المبالغ الأولية، ويطبع معرّف المجمع الجديد وتوقيع المعاملة.

الإعداد

تأكد من أنك قرأت متطلبات البدء السريع وأن لديك RPC_URL وKEYPAIR والمكتبات المثبتة. ستحتاج أيضاً إلى تمويل المحفظة بمبالغ البذر من كلا العملتين، بالإضافة إلى ما يكفي من SOL لتغطية رسوم إنشاء المجمع لمرة واحدة وإيجار الحساب (~0.19 SOL إجمالي على mainnet — انظر reference/fee-comparison لتفصيل الإيجار والرسوم، أو ray/protocol-fees للرسوم فقط). تشغيل هذا على devnet. تبديل cluster إلى "devnet" وحده غير كافٍ. يثبّت هذا السكريبت استيرادين محددين لا يتبعان cluster: programId: CREATE_CPMM_POOL_PROGRAM وpoolFeeAccount: CREATE_CPMM_POOL_FEE_ACC، وكلاهما ثوابت mainnet. استورد DEVNET_PROGRAM_ID من SDK واستخدم DEVNET_PROGRAM_ID.CREATE_CPMM_POOL_PROGRAM وDEVNET_PROGRAM_ID.CREATE_CPMM_POOL_FEE_ACC بدلاً منهما — نفس النمط الذي يستخدمه سكريبت CLMM.

السكريبت

احفظه باسم create-cpmm.mjs:
create-cpmm.mjs

تشغيله

مثال: إنشاء مجمع SOL/USDC بـ 1 SOL و160 USDC كبذر أولي:
المخرجات المتوقعة:

ما حدث للتو

  1. getCpmmConfigs جلبت قائمة فئات الرسوم المباشرة من api-v3.raydium.io واختارت الفهرس 0 (فئة 0.25% — انظر reference/fee-comparison للمجموعة الكاملة).
  2. getTokenInfo حلّت بيانات كل عملة، بما في ذلك برنامج الرمز الذي يملكها. يقبل CPMM عملات SPL Token و Token-2022؛ يوجّه SDK تلقائياً.
  3. createPool بنت معاملة واحدة تقوم بـ:
    • ترتيب العملات بالترتيب الكنسي،
    • اشتقاق PDA للمجمع والخزائن وعملة LP والسلطة،
    • دفع create_pool_fee لمرة واحدة إلى CREATE_CPMM_POOL_FEE_ACC،
    • إنشاء ATAs للمستدعي إذا كانت مفقودة،
    • زرع الخزائن بـ AMOUNT_A وAMOUNT_B.
  4. السعر الأولي يُحدد بنسبة البذر: price = AMOUNT_B / AMOUNT_A بعد تعديل الكسور العشرية. اختر هذا بعناية — ستقوم البوتات بالمراجحة لأي سعر خاطئ في غضون ثوانٍ من فتح المجمع.
  5. startTime: new BN(0) يفتح التداول فوراً. لتجميع السيولة قبل الفتح للجمهور، عيّن طابع زمني Unix مستقبلي.

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

  • pool already exists — يوجد مجمع بالفعل لهذا الزوج من العملات بفئة الرسوم هذه. ابحث عنه قبل الإنشاء.
  • insufficient funds — محفظتك لا تحتوي على ما يكفي من MINT_A أو MINT_B أو SOL (لرسوم إنشاء المجمع + الإيجار).
  • Token-2022 extension not supported — إحدى عملاتك تستخدم امتداد لا يقبله CPMM. انظر reference/token-2022-support.

بعد النشر

يمكنك المبادلة مباشرة مقابل المجمع الجديد — يقبل سكريبت المبادلة من CLI معرّف المجمع الجديد مباشرة. ستفهرس المجمعات (Jupiter، وغيرها) المجمع الجديد في غضون دقائق.

التالي