Skip to main content
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
لافتة الإصدار.
  • SDK: @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Cluster: Solana mainnet-beta
  • معرّف البرنامج: انظر reference/program-addresses
  • آخر تحقق: 2026-04
ثبّت إصدار SDK في package.json الخاص بك. واجهة منحنى الربط تطورت بين الإصدارات الثانوية.

الإعداد

العروض التوضيحية هنا تعكس الملفات في raydium-sdk-V2-demo/src/launchpad. يتبع التمهيد config.ts.template من مستودع العرض التوضيحي:

إنشاء إطلاق

المصدر: src/launchpad/createMint.tscreateBonkMintApi.ts لمتغير Bonk المدفوع بواسطة API)
ملاحظات:
  • initialK هو عامل المقياس للمنحنى التربيعي. اضبطه للوصول إلى سعر CPMM الافتتاحي المحدد عند التخرج. انظر products/launchlab/bonding-curve للاشتقاق.
  • يتعامل SDK مع إنشاء العملة الأساسية وPDA البيانات الوصفية وكلا الخزانات في معاملة واحدة. قد يتجاوز 1232 بايت إذا كان URI البيانات الوصفية طويلاً؛ في هذه الحالة ينقسم SDK إلى معاملتين.
  • بعد Initialize، الإطلاق غير قابل للتداول حتى openTime. اضبط openTime قبل دقيقة أو دقيقتين لإعطاء المتقدمين فرصة أقل للاستيلاء على أول عملية شراء.

جلب حالة الإطلاق

getLaunchById يعيد LaunchState المفكك بالإضافة إلى كسر “التقدم نحو التخرج” المحسوب كـ Decimal.

الشراء — الاقتباس الدقيق في

المصدر: src/launchpad/buy.ts
computeBuyBase يعكس محلل Newton على السلسلة (منحنى تربيعي) أو معكوس CPMM بصيغة مغلقة (curve_type 1). استخدمه لملء حقل واجهة المستخدم “ستتلقى”.

الشراء — الإخراج الأساسي الدقيق

مفيد لواجهات المستخدم “شراء بالضبط X رمز”. يرفع مع ExceededSlippage إذا تحرك المنحنى بما يكفي بحيث يتجاوز متطلب الاقتباس الآن maximumQuoteIn.

البيع

المصدر: src/launchpad/sell.ts
مسار البيع للمنحنى متماثل مع مسار الشراء: تقليل base_sold بمقدار baseIn يعيد quote_out مساوياً للمنطقة المتكاملة تحت المنحنى بين base_sold − baseIn و base_sold، ناقص رسم البيع.

التخرج التلقائي عند عملية الشراء التي تعبر الحد الأدنى

يسلسل SDK تعليمات Graduate داخل معاملة buy* عندما يكتشف أن حالة ما بعد الشراء ستعبر الحد الأدنى:
لأن Graduate بدون إذن، يمكن لأي شخص (بما في ذلك بوت MEV) السباق للهبوط أول Graduate بعد عبور الحد الأدنى — عادة ثوانٍ لاحقة، وليس دقائق. الهابط الأول يدفع فقط الإيجار لحسابات مجموعة CPMM؛ لا يحصلون على أي فائدة أخرى.

Graduate يدوي

إذا كان autoGraduate معطلاً أو فشلت معاملة عبور الحد الأدنى، يمكنك إطلاق التخرج بشكل منفصل:
يعود مع NotAtThreshold إذا كان quote_reserve_real < quote_reserve_target في وقت الإرسال. آمن للإعادة — محاولة Graduate الثانية بعد النجاح تعود مع NotActive.

جمع رسوم المنشئ

المصدر: src/launchpad/claimCreatorFee.ts (عملة واحدة) وcollectAllCreatorFees.ts (مجمعة)
ينقل مبلغ عداد رسم المنشئ المتراكم إلى ATA المنشئ على عملة الاقتباس. قابل للاستدعاء قبل أو بعد التخرج؛ استخدمه بشكل دوري بدلاً من انتظار رصيد ضخم يتراكم.

تتبع إطلاق عبر دورة حياته

بجمع كل شيء معاً، قد تبدو نصيحة المراقبة كالتالي:

مراقبة الإعدادات والمجموعات عبر gRPC

المصدر: src/grpc/launchpadPoolInfo.ts يشترك في برنامج LaunchLab عبر Yellowstone gRPC ويسجل كل تحديث GlobalConfig و PoolState مع برنامج الرمز لكل عملة. يفصل مرشحا datasize على اشتراك accounts واحد بين نوعي الحساب، لذا يغطي تيار واحد كليهما. العرض التوضيحي هو أقصر مرجع صحيح لتصنيف عملات الإطلاق، والذي يجعل إصدار عملة الاقتباس Token-2022 ضروري:
  • المجموعات يتم تصنيفها مباشرة من PoolState.token_program_flag، فك تشفير bit0 للعملة الأساسية و bit1 للعملة الاقتباس بدون جلب عملة على الإطلاق. اختبار البايت بالكامل مقابل 0 — والذي كان كافياً بينما كانت عملات الاقتباس موروثة فقط — يسيء قراءة عملة أساسية موروثة كـ Token-2022 كلما كانت عملة الاقتباس Token-2022.
  • الإعدادات لا يمكن تصنيفها بهذه الطريقة: GlobalConfig يخزن عنوان عملة الاقتباس وعدم وجود علم برنامج، لذا يقرأ العرض التوضيحي مالك حساب العملة مرة واحدة ويخزنه مؤقتاً لكل عملة.
كما أنه يتحقق من الاثنين ضد بعضهما البعض، وهو تأكيد مفيد للاحتفاظ به في الفهرس الخاص بك. لاحظ أن create مقابل update يُستنتج من ذاكرات التخزين المؤقت الخاصة بالعرض التوضيحي، المزروعة عند بدء التشغيل من getProgramAccounts؛ مع تعطيل هذا البذر، اقرأ “create” كـ “أول ظهور على هذا التيار”. وصول gRPC ليس جزءاً من سطح RPC العام — انظر src/grpc/README.md من مستودع العرض التوضيحي.

Rust CPI

استدعاء LaunchLab من برنامج Anchor الخاص بك نادر (معظم تكاملات الإطلاق هي TS-side فقط). إذا فعلت ذلك، يشحن البرنامج صندوق Anchor raydium_launchlab مع cpi::accounts::Buy، cpi::accounts::Sell، إلخ. — النمط يعكس أمثلة CPMM / CLMM CPI. انظر sdk-api/rust-cpi لقالب معمم بمجرد ملء هذا الموقع.

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

  • حسابات تقسيم الرسوم خارج بواحد. إذا لم يكن total_share مساوياً بالضبط lp_share + creator_share + protocol_share، Initialize يعود مع InvalidFeeShares. اضبط totalShare مساوياً للمجموع.
  • استخدام عملة اقتباس غير مسموحة. launch_config.allowed_quote_mints قائمة ثابتة؛ تمرير أي عملة أخرى يعود. تحقق مع raydium.launchpad.getConfig() أولاً.
  • حجم البيانات الوصفية. سلاسل uri الطويلة تدفع Metaplex CPI فوق الميزانية. احتفظ بـ uri تحت ~200 حرف — معظم بيانات JSON المستضافة على CDN تناسب بسهولة.
  • سباق التخرج. الروبوتات الآلية تراقب quote_reserve_real وتتقدم على Graduate في فتحة أو اثنتين من عبور الحد الأدنى. هذا حميد — يكلفهم فقط الإيجار — لكنه يعني أن واجهة المستخدم الخاصة بك يجب أن تعامل انتقالات status كأحداث سريعة.

أين تذهب بعد ذلك

المصادر: