Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
PlatformConfig هو تراكب على مستوى المنصة يستقر فوق GlobalConfig. حيث يحدد GlobalConfig القواعد على نطاق البروتوكول (“رسم التجارة 1%، يجب أن يكون الإمداد على الأقل 10 مليون، فقط هذا المحفظة يمكنها التخرج”)، PlatformConfig هو ما تستخدمه كل منصة إطلاق — pump.fun، واجهة Raydium الخاصة، منصات الطرف الثالث — لإضافة رسومها، والمطالبة بحصتها من LP بعد التخرج، وتقييد أشكال المنحنيات التي يمكن لإطلاقاتها أن تختار، وعرض علامتها التجارية (الاسم، الموقع الإلكتروني، الصورة) على السلسلة.ما هو عليه
حسابPlatformConfig يمتلك أربع مخاوف عابرة للقطاع لمنصة:
- العلامة التجارية — الاسم، الموقع الإلكتروني، رابط الصورة، كل شيء مخزّن مضمنًا حتى يمكن لأي مستكشف أو معالج بيانات عرض المنصة التي أطلقت الرمز.
- رسم المنصة — رسم تجارة إضافي (
fee_rate) فوقtrade_fee_rateالبروتوكول. يتراكم في محفظة رسوم المنصة (platform_fee_wallet). مغطى بـ 100 نقطة أساس بواسطةGlobalConfig.max_share_fee_rate. - تقسيم هجرة NFT — ثلاثة أعداد صحيحة (
platform_scale,creator_scale,burn_scale) تجمع إلىRATE_DENOMINATOR_VALUE = 1_000_000وتقسم LP بعد التخرج إلى قطعة مسكوكة لمحفظة NFT المنصة، وقطعة لمحفظة NFT المنشئ، وقطعة محروقة (Burn & Earn). ذات مغزى فقط عندما يستهدف التخرج CPMM (migrate_type = 1). - قائمة معاملات المنحنى البيضاء —
Vec<PlatformCurveParam>تدرج بالضبط أي(supply, total_base_sell, total_quote_fund_raising, migrate_type, migrate_cpmm_fee_on, vesting_params...)المجموعات المسموحة على هذه المنصة. إذا كان المتجه فارغًا أو جميع الإدخالات غير صالحة، أي مجموعة مسموحة؛ وإلا يجب أن تطابق الإطلاقات أحد الإدخالات بالضبط.
create_platform_config في المصدر لقائمة البذور القانونية.)
التخطيط
platform_scale + creator_scale + burn_scale قيمة 1_000_000 (تحقق بواسطة MigrateNftInfo::check). التقسيمات الشائعة الموجودة في الإنتاج:
(0, 100_000, 900_000)— 90% LP محروق، 10% للمنشئ. إطلاق عادل على نمط pump القياسي.(50_000, 100_000, 850_000)— حصة منصة صغيرة (5%)، 10% منشئ، 85% حرق.(0, 0, 1_000_000)— حرق كامل، لا توجد سكات NFT. إطلاقات صارمة “بدون مطلعين”.
حقول العلامة التجارية
name وweb وimg عبارة عن صفائف بايت مضمنة مبطنة بأصفار حتى ثابتها. لقراءتها كنصوص، قم بالتقطيع حتى أول \0:
name: 64، web: 256، img: 256) بحيث يمكن للمنصات تضمين بيانات وصفية كافية للمستكشفات والمعالجات دون اللجوء إلى تخزين غير متسلسل. أي شيء يتجاوز هذه الأحجام يعود عند CreatePlatformConfig مع InvalidInput.
ميكانيكا الرسوم
يفرض swap على منحنى مرتبط بـPlatformConfig ثلاث رسوم متعددة الطبقات:
- يتراكم
trade_feeفيprotocol_fee_ownerالبروتوكول (تم المطالبة به عبرCollectFee). - يتراكم
platform_feeفي خزينة لكل منصة (تم المطالبة به عبرClaimPlatformFeeأوClaimPlatformFeeFromVault؛ انظرinstructions). - يتراكم
creator_feeفي خزينة لكل منشئ مفتاح بواسطة المفتاح العام للمنشئ + ضرب الاقتباس (تم المطالبة به عبرClaimCreatorFee).
creator_fee_rate على MAX_CREATOR_FEE_RATE = 5000 (50 نقطة أساس). يقتصر fee_rate (رسم المنصة) على 10000 (100 نقطة أساس) بواسطة GlobalConfig.max_share_fee_rate.
تقسيم هجرة NFT (فقط CPMM)
عندما يتخرج الإطلاق إلى CPMM (migrate_type = 1، موقعة بواسطة migrate_to_cpswap_wallet)، تقسم تعليمات الهجرة رموز LP المسكوكة بواسطة CPMM::InitializeWithPermission بثلاث طرق:
LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE) — يحق لصاحب NFT المطالبة برسوم CPMM المتراكمة بلا حد دون القدرة على سحب السيولة الأساسية. انظر products/launchlab/creator-fees لتدفق Fee Key بعد التخرج.
يتم إرسال شريحة الحرق إلى برنامج القفل باستخدام is_burn = true بحيث تصبح رموز LP بشكل دائم غير قابلة للوصول — فهي تؤمن أرضية سعر المجمع دون أن تدفع أبدًا الرسوم لأي شخص.
عندما migrate_type = 0 (التخرج إلى AMM v4)، يتم تجاهل حقول تقسيم NFT وكامل LP مقفول / محروق وفقًا لتدفق جانب AMM v4 منفصل.
قائمة معاملات المنحنى البيضاء
curve_params: Vec<PlatformCurveParam> هي آلية المنصة لتقييد أشكال المنحنيات التي يمكن لإطلاقاتها أن تختار. إذا كان المتجه غير فارغ وكان هناك إدخال واحد على الأقل صالحًا، يفرض البرنامج عند Initialize أن معاملات الإطلاق تطابق إدخالًا واحدًا على الأقل بالضبط.
u64::MAX لحقول u64، u8::MAX لحقول u8، 0 لحقول الإمداد / البيع / جمع التمويل. BondingCurveParam مع جميع الحراس هو “السماح بأي شيء” — معادل لسلوك القائمة البيضاء الفارغة.
خوارزمية المطابقة عند Initialize:
- تصفية
curve_paramsلإدخالات التيglobal_configتطابقGlobalConfigالمختار للإطلاق. - إذا كانت القائمة المفلترة فارغة، السماح بأي معاملات (لم تقيّد المنصة أي شيء لهذا
GlobalConfig). - إذا كان كل إدخال في القائمة المفلترة له
all_is_invalid()(كل حقل هو البديل)، السماح بأي معاملات. - بخلاف ذلك، كرّر الإدخالات؛ لكل إدخال، تحقق من معاملات الإطلاق ضد كل حقل غير wildcard. إذا طابقت جميع الحقول غير wildcard، قبول وعودة.
- إذا لم يطابق أي إدخال، عودة مع
InvalidInput.
MAX_CURVE_PARAMS = 10 يحد من حجم القائمة البيضاء.
PlatformGlobalAccess — ترخيص منصة
عندما يكون لدى GlobalConfig قيمة requires_platform_auth = 1، يجب أن يتضمن كل Initialize ضده PlatformGlobalAccess PDA يثبت أن المنصة قد تم ترخيصها مسبقًا:
[b"platform_global_access", global_config, platform_config].
يقوم مسؤول البروتوكول بإنشاء واحدة من هذه لكل زوج (GlobalConfig, PlatformConfig) عبر CreatePlatformGlobalAccess ويلغيها عبر ClosePlatformGlobalAccess. بدون هذا الحساب، لا يمكن للإطلاق الربط بـ GlobalConfig من المنصة المحاطة.
مسار القراءة
PoolState.platform_config مباشرة إلى PlatformConfig الأصلي — أحضره مرة واحدة وخزّن مؤقتًا العلامة التجارية.
مسار التحديث
| التعليمات | من يوقّع | ما الذي يتغير |
|---|---|---|
CreatePlatformConfig | مسؤول المنصة (مرة واحدة) | تهيئة الحساب باستخدام PlatformParams. |
UpdatePlatformConfig | مسؤول المنصة | توزيع عام مفتاح بـ param: u8؛ يتغير حقل واحد لكل استدعاء. حقول العلامة التجارية، معدلات الرسوم، محفظة التوزيع، والمحافظ المختلفة قابلة للتعيين جميعها من خلال هذا. |
UpdatePlatformCurveParam | مسؤول المنصة | إضافة أو استبدال إدخال PlatformCurveParam واحد بـ (global_config, index). |
RemovePlatformCurveParam | مسؤول المنصة | مسح إدخال واحد (ضبطه على جميع الحراس = wildcard). |
ClaimPlatformFee | platform_fee_wallet | كسح رسم المنصة لكل مجمع من PoolState.quote_vault. |
ClaimPlatformFeeFromVault | platform_fee_wallet | كسح خزينة رسم المنصة لكل منصة (PDA في [platform_config, quote_mint]). |
platform_fee_wallet, platform_nft_wallet, platform_vesting_wallet, platform_cp_creator, transfer_fee_extension_auth, cpswap_config) تمر عبر UpdatePlatformConfig. اقرأ جدول توزيع update_platform_config في المصدر لأكواد param الدقيقة.
المزالق الشائعة
- حراس القائمة البيضاء خاطئة.
BondingCurveParamمعtotal_locked_amount = 0ليس wildcard — فهو يطابق الإطلاقات التي تختار بوضوح عدم التوزيع. البديل لذلك الحقل هوu64::MAX. الفخ نفسه موجود لـcliff_periodوunlock_period. استخدمclear()(الذي يكشفه البرنامج) لتعيين الحراس بشكل صحيح. - تقريب تقسيم NFT. يجب أن تجمع الموازين الثلاثة إلى بالضبط
1_000_000. أخطاء قريبة من الواحد عندCreatePlatformConfigتعود؛ قريبة من الواحد في وقت التشغيل قد تسك أو تحرق وحدة LP واحدة إضافية، وهذا ما يوجد فحص المساواة الصارم لمنعه. - مضاعفة تخصيص التوزيع للمنصة. إذا كان
platform_vesting_scale > 0، يجب على المنصة استدعاءCreatePlatformVestingAccountمرة واحدة بعد انتهاء جمع تمويل الإطلاق؛ إذا نسيت، تلك الحصة تبقى غير مخصصة وخامدة إلى الأبد (ميزانيةtotal_locked_amountالإطلاق يتم استهلاكها لكن المنصة لا تطالب أبدًا). - غموض
platform_cp_creator. عند تعيينها إلىPubkey::default()، يتم تسجيل مُنشئ الإطلاق كـpool_creatorلمجمع CPMM بعد التخرج؛ عند تعيينها لمفتاح حقيقي، يتم تسجيل ذلك المفتاح بدلاً من ذلك. هذا يؤثر على من يمكنه استدعاءCPMM::CollectCreatorFeeلاحقًا. قرر في وقت إنشاء تكوين المنصة أي نموذج تريده.
مؤشرات
products/launchlab/global-config— قواعد جانب البروتوكول يجب أن يرضيها الإطلاق.products/launchlab/vesting— ميكانيكاplatform_vesting_scale.products/launchlab/creator-fees— Fee Key NFT، Burn & Earn.products/launchlab/platforms— دليل متكامل المنصة.
raydium-launch/programs/launchpad/src/states/platform_config.rs—PlatformConfig,PlatformParams,MigrateNftInfo,PlatformCurveParam,BondingCurveParam,is_valid_curve_param.raydium-launch/programs/launchpad/src/states/platform_global_access.rs—PlatformGlobalAccess.raydium-launch/programs/launchpad/src/lib.rs—create_platform_config,update_platform_config,update_platform_curve_param,remove_platform_curve_param,create_platform_global_access,close_platform_global_access,claim_platform_fee,claim_platform_fee_from_vault.


