本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
PlatformConfig 是位於 GlobalConfig 之上的平台級覆蓋層。GlobalConfig 定義協議範圍的規則(「交易費為 1%、供應量至少 10M、只有此錢包可以畢業」),而 PlatformConfig 是每個啟動平台(pump.fun、Raydium 自有 UI、第三方啟動板)用來新增其費用、聲稱畢業後 LP 的份額、限制其啟動可選擇的曲線形狀,以及在鏈上展示其品牌(名稱、網站、圖片)的方式。概述
PlatformConfig 帳戶為平台擁有五個跨領域的關注點:
- 品牌 — 名稱、網站、圖片連結,全部內聯儲存,以便任何瀏覽器或聚合器都可以顯示啟動代幣的平台。
- 平台費用 — 在協議
trade_fee_rate之上的額外交易費用(fee_rate)。累積到平台的platform_fee_wallet。由GlobalConfig.max_share_fee_rate限制在 100 bps。 - 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...)組合。如果向量為空或所有條目都無效,任何組合都被允許;否則啟動必須完全匹配其中一個條目。 - 全局配置允許清單 — 一個選擇加入的限制,要求為選定的
GlobalConfig建立平台建立的PlatformAllowConfig。
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累積到由創作者的公鑰 + 報價鑄造廠鍵入的每個創作者保管庫(通過ClaimCreatorFee聲稱)。
creator_fee_rate 由 MAX_CREATOR_FEE_RATE = 5000(50 bps)限制。fee_rate(平台費用)由 GlobalConfig.max_share_fee_rate 限制在 10000(100 bps)。
NFT 遷移分配(僅限 CPMM)
當啟動畢業到 CPMM 時,遷移指令將CPMM::InitializeWithPermission 鑄造的 LP 代幣分為兩種方式:
lp_to_platform 非零,LP 鎖定程式將其包裝成一個由 platform_nft_wallet 擁有的費用密鑰 NFT。這取代了升級前建立單獨平台和創作者費用密鑰的行為。升級前完成的遷移建立的費用密鑰保持不變。此 LP 費用權利與由 platform_cp_creator 控制的 CPMM 創作者費用分開。
銷毀份額被直接銷毀,因此沒有帳戶可以提取它或聲稱該份額代表的 LP 費用。
具有儲存 migrate_type = 0 的現有啟動仍可使用舊版 AMM v4 路徑。新初始化拒絕該遷移類型。
曲線參數白名單
curve_params: Vec<PlatformCurveParam> 是平台限制其啟動可選擇的曲線形狀的機制。如果向量非空且至少一個條目有效,程式在 Initialize 時強制啟動的參數完全匹配至少一個條目。
u64 欄位為 u64::MAX,u8 欄位為 u8::MAX,供應量/銷售/籌資欄位為 0。具有所有哨兵的 BondingCurveParam 是「允許任何東西」— 等同於空白名單行為。
Initialize 時的匹配演算法:
- 篩選
curve_params至global_config與啟動選擇的GlobalConfig相符的條目。 - 如果篩選清單為空,允許任何參數(平台未為此
GlobalConfig白名單任何內容)。 - 如果篩選清單中的每個條目都有
all_is_invalid()(每個欄位都是萬用字元),允許任何參數。 - 否則迭代條目;對於每個條目,根據每個非萬用字元欄位檢查啟動的參數。如果所有非萬用字元欄位都匹配,接受並返回。
- 如果沒有條目匹配,以
InvalidInput還原。
MAX_CURVE_PARAMS = 10 限制白名單大小。
PlatformAllowConfig — 限制平台
每個平台決定是否限制其啟動可使用的 GlobalConfig 帳戶。使用 UpdatePlatformConfig::RestrictGlobalConfig(0 | 1) 設定 restrict_global_config。
[b"platform_allow_config", platform_config, global_config]。
平台管理員通過 CreatePlatformAllowConfig 和 ClosePlatformAllowConfig 為每個允許的對建立或關閉一個帳戶。當限制為 1 時,初始化在 remaining_accounts 中搜尋預期的 PDA,並以 NotEnoughRemainingAccounts 拒絕缺失帳戶。當限制為 0 時,不需要允許帳戶。
前協議管理員管理的 PlatformGlobalAccess 帳戶及其建立/關閉指令已停用。現有 PlatformConfig 和 GlobalConfig 大小不變,但解碼器必須用新平台標誌替換舊全局標誌。舊存取 PDA 不被新檢查消耗。
讀取路徑
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 代碼。
常見陷阱
- 白名單哨兵設定錯誤。 具有
total_locked_amount = 0的BondingCurveParam不是萬用字元 — 它匹配明確選擇退出質押的啟動。該欄位的萬用字元是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()時,啟動創作者被記錄為畢業後 CPMM 池的pool_creator;當設定為真實密鑰時,該密鑰被記錄。這決定了畢業後 CPMM 創作者費用的受益人以及誰可以簽署原始CPMM::CollectCreatorFee路徑。無許可收集路徑仍向此記錄密鑰的規範 ATA 支付。在平台配置建立時決定你想要哪個模型。- 沒有允許帳戶的限制。 在建立所需的
PlatformAllowConfig之前啟用restrict_global_config會阻止選擇該配置的新啟動。
指標
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— 平台配置和允許配置端點。

