هذه الصفحة مُترجَمة آليًا بواسطة الذكاء الاصطناعي. النسخة الإنجليزية هي المرجع المعتمد.عرض النسخة الإنجليزية →
PlatformConfig هو تراكب على مستوى المنصة يقع فوق GlobalConfig. بينما يحدد GlobalConfig القواعد على مستوى البروتوكول (“رسم التداول 1%، يجب أن يكون الإمداد 10 مليون على الأقل، فقط هذا المحفظة يمكنها التخرج”)، PlatformConfig هو ما تستخدمه كل منصة إطلاق — pump.fun، واجهة Raydium الخاصة، منصات الإطلاق من جهات خارجية — لإضافة رسومها، والمطالبة بحصتها من LP بعد التخرج، وتقييد أشكال المنحنيات التي يمكن لعمليات الإطلاق الخاصة بها أن تختارها، وعرض علامتها التجارية (الاسم والموقع والصورة) على السلسلة.ما هو
حسابPlatformConfig يمتلك خمس مخاوف متقاطعة لمنصة:
- العلامة التجارية — الاسم والموقع ورابط الصورة، كلها مخزنة بشكل مضمن بحيث يمكن لأي مستكشف أو معالج بيانات عرض المنصة التي أطلقت الرمز.
- رسم المنصة — رسم تداول إضافي (
fee_rate) بالإضافة إلىtrade_fee_rateالخاص بالبروتوكول. يتراكم فيplatform_fee_walletالخاص بالمنصة. محدود بـ 100 bps بواسطةGlobalConfig.max_share_fee_rate. - تقسيم هجرة LP — ثلاثة أعداد مخزنة (
platform_scale,creator_scale,burn_scale) تجمع إلى1_000_000. قبل ترقية 2026-08-17، كان مقياس المنشئ ينتج مفتاح رسم منشئ منفصل. الهجرات المنفذة بعد الترقية تجمع الاثنين الأولين في حصة LP مقفلة واحدة مملوكة للمنصة؛ الباقي يتم حرقه. - قائمة بيضاء لمعاملات المنحنى —
Vec<PlatformCurveParam>يسرد بالضبط أي مجموعات(supply, total_base_sell, total_quote_fund_raising, migrate_type, migrate_cpmm_fee_on, vesting_params...)مسموحة على هذه المنصة. إذا كان المتجه فارغًا أو جميع الإدخالات غير صالحة، أي مجموعة مسموحة؛ وإلا يجب أن تطابق عمليات الإطلاق أحد الإدخالات بالضبط. - قائمة بيضاء للتكوين العام — تقييد اختياري يتطلب
PlatformAllowConfigالتي أنشأتها المنصة للـGlobalConfigالمختار.
create_platform_config في المصدر للحصول على قائمة البذور الموثوقة.)
التخطيط
platform_scale + creator_scale + burn_scale قيمة 1_000_000. قبل ترقية 2026-08-17، كان creator_scale مقفولًا بشكل منفصل وذهب مفتاح الرسم الخاص به إلى منشئ الرمز. بالنسبة للهجرات المنفذة بعد الترقية، يتم إضافته إلى platform_scale وتذهب حقوق LP المقفلة الخاصة به إلى المنصة بدلاً من ذلك. نتائج مثال تحت المنطق المحدث:
(0, 100_000, 900_000)— 90% LP محروق، 10% مقفل للمنصة.(50_000, 100_000, 850_000)— 85% محروق، 15% مقفل للمنصة.(0, 0, 1_000_000)— حرق كامل، لا توجد عملات NFT. عمليات إطلاق صارمة “بدون مطلعين”.
حقول العلامة التجارية
name و web و img عبارة عن مصفوفات بايت مضمنة مملوءة بأصفار حتى ثوابتها. لقراءتها كسلاسل، قم بالتقطيع حتى أول \0:
name: 64, web: 256, img: 256) بحيث يمكن للمنصات تضمين بيانات وصفية كافية للمستكشفات ومعالجات البيانات دون لمس التخزين خارج السلسلة. أي شيء يتجاوز هذه الأحجام سيعود عند CreatePlatformConfig مع InvalidInput.
ميكانيكا الرسوم
يفرض التبديل على منحنى مرتبط بـPlatformConfig ثلاث رسوم متعددة الطبقات:
trade_feeيتراكم فيprotocol_fee_ownerالخاص بالبروتوكول (يتم المطالبة به عبرCollectFee).platform_feeيتراكم في خزينة لكل منصة (يتم المطالبة به عبرClaimPlatformFeeأوClaimPlatformFeeFromVault؛ انظرinstructions).creator_feeيتراكم في خزينة لكل منشئ مفتاح بواسطة pubkey المنشئ + quote mint (يتم المطالبة به عبرClaimCreatorFee).
creator_fee_rate محدود بـ MAX_CREATOR_FEE_RATE = 5000 (50 bps). fee_rate (رسم المنصة) محدود بـ 10000 (100 bps) بواسطة GlobalConfig.max_share_fee_rate.
تقسيم هجرة NFT (CPMM فقط)
عندما يتخرج الإطلاق إلى CPMM، تقسم تعليمات الهجرة رموز LP التي تم سكها بواسطةCPMM::InitializeWithPermission بطريقتين:
lp_to_platform غير صفري، يقوم برنامج LP-Lock بتغليفه في مفتاح رسم NFT واحد مملوك بواسطة platform_nft_wallet. هذا يحل محل السلوك السابق للترقية الذي أنشأ مفاتيح رسم منفصلة للمنصة والمنشئ. تبقى مفاتيح الرسم التي تم إنشاؤها بواسطة الهجرات المكتملة قبل الترقية دون تغيير. هذا الحق في رسم LP منفصل عن رسوم منشئ CPMM التي يتحكم فيها platform_cp_creator.
يتم حرق شريحة الحرق مباشرة، لذا لا يمكن لأي حساب سحبها أو المطالبة برسوم LP التي تمثلها تلك الحصة.
عمليات الإطلاق الموجودة مع migrate_type = 0 المخزنة يمكنها لا تزال استخدام مسار 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. إذا طابقت جميع الحقول غير wildcard، اقبل وعد.
- إذا لم يطابق أي إدخال، عد مع
InvalidInput.
MAX_CURVE_PARAMS = 10 يحد من حجم القائمة البيضاء.
PlatformAllowConfig — تقييد منصة
تقرر كل منصة ما إذا كانت ستقيد أي حسابات GlobalConfig قد تستخدمها عمليات الإطلاق الخاصة بها. اضبط restrict_global_config مع UpdatePlatformConfig::RestrictGlobalConfig(0 | 1).
[b"platform_allow_config", platform_config, global_config].
ينشئ مسؤول المنصة أو يغلق حسابًا واحدًا لكل زوج مسموح به عبر CreatePlatformAllowConfig و ClosePlatformAllowConfig. عندما يكون التقييد 1، تبحث التهيئة في remaining_accounts عن PDA المتوقع وترفض حسابًا مفقودًا مع NotEnoughRemainingAccounts. عندما يكون التقييد 0، لا يلزم حساب السماح.
حساب PlatformGlobalAccess الذي تدار بواسطة مسؤول البروتوكول السابق وتعليمات الإنشاء / الإغلاق الخاصة به متقاعد. أحجام PlatformConfig و GlobalConfig الموجودة لا تتغير، لكن يجب على فك التشفير استبدال العلم العام القديم بالعلم الجديد للمنصة. لا يتم استهلاك PDAs الوصول القديمة بواسطة الفحص الجديد.
مسار القراءة
PoolState.platform_config مباشرة إلى PlatformConfig الأصلي — قم بجلبه مرة واحدة وخزن العلامة التجارية.
مسار التحديث
تدويرات المحفظة (
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 — يطابق عمليات الإطلاق التي تختار بشكل صريح عدم استخدام التوزيع المؤقت. 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 بعد التخرج ومن يمكنه توقيع مسارCPMM::CollectCreatorFeeالأصلي. مسار الجمع بدون إذن لا يزال يدفع ATAs الموثوقة للمفتاح المسجل. قرر في وقت إنشاء تكوين المنصة أي نموذج تريد. - التقييد بدون حساب سماح. تفعيل
restrict_global_configقبل إنشاءPlatformAllowConfigالمطلوب يحجب عمليات الإطلاق الجديدة التي تختار هذا التكوين.
المؤشرات
products/launchlab/global-config— قواعد جانب البروتوكول يجب أن يفي بها الإطلاق.products/launchlab/vesting— ميكانيكاplatform_vesting_scale.products/launchlab/creator-fees— رسوم المنشئ مقابل حقوق مفتاح الرسم للمنصة.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_allow_config.rs—PlatformAllowConfig.raydium-launch/programs/launchpad/src/lib.rs— نقاط دخول تكوين المنصة وتكوين السماح.

