Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.İngilizce sürümü görüntüle →
PlatformConfig, GlobalConfig üzerine oturan platform düzeyinde bir katmandır. GlobalConfig protokol genelinde kuralları tanımlarken (“işlem ücreti %1, arz en az 10M olmalı, sadece bu cüzdan mezun olabilir”), PlatformConfig her başlatma platformunun — pump.fun, Raydium’un kendi arayüzü, üçüncü taraf launchpad’ler — kendi ücretini eklemek, mezuniyet sonrası LP’nin payını talep etmek, başlatmalarının seçebileceği parametreleri kısıtlamak ve markalamalarını (ad, web sitesi, görüntü) zincir üzerinde göstermek için kullandığı araçtır.Nedir
BirPlatformConfig hesabı, bir platform için beş çapraz işlevi yönetir:
- Markalama — ad, web sitesi, görüntü bağlantısı; hepsi satır içi depolanır, böylece herhangi bir explorer veya toplayıcı platformu gösterebilir.
- Platform ücreti — protokolün
trade_fee_rate’ine ek olarak ekstra işlem ücreti (fee_rate). Platform’unplatform_fee_wallet’ına tahakkuk eder. Her iki oluşturma ve güncelleme yolunda 500 bps (50000) ile sınırlandırılır; 2026-08-26’da 100 bps (10000) üzerinden yükseltildi — bkz. Ücret sınırları. - LP geçiş bölüşümü — üç depolanan tam sayı (
platform_scale,creator_scale,burn_scale) toplamı1_000_000. 2026-08-17 yükseltmesinden önce, creator ölçeği ayrı bir creator Fee Key’i üretiyordu. Yükseltmeden sonra gerçekleştirilen geçişler ilk ikisini platform’a ait kilitli LP payına birleştirir; geri kalan yakılır. - Başlatma parametresi kuralları — seçilen
GlobalConfigiçinPlatformCurveRulehesabını karşılamayı gerektiren isteğe bağlı bir kısıtlama (restrict_curve_param). Kurallar değer bantlarını, alternatif seviyeleri ve token türü kapılarını destekler;PlatformConfigüzerinde değil, kendi hesaplarında yaşarlar. - Global-config izin listesi — seçilen
GlobalConfigiçin platform tarafından oluşturulanPlatformAllowConfig’i gerektiren isteğe bağlı bir kısıtlama.
create_platform_config’e bakın.)
Düzen
PlatformCurveRule hesaplarına taşıyan bir sondaki Vec<PlatformCurveParam> tutuyordu; restrict_curve_param, curve_rule_manager ve vec’in uzunluk önekinin işgal ettiği 4 bayt hepsi padding’den çıktı, bu nedenle bayt sayısı ve her önceki alan ofseti değişmedi. Dekoderler’in ne değiştirmesi gerektiği için changelog girişine bakın.
platform_scale + creator_scale + burn_scale tam olarak 1_000_000’e eşit olmalıdır. 2026-08-17 yükseltmesinden önce, creator_scale ayrı olarak kilitliydi ve Fee Key’i token yaratıcısına gitti. Yükseltmeden sonra gerçekleştirilen geçişler için, platform’a eklenir ve kilitli LP hakları platform’a gider. Güncellenmiş mantık altında örnek sonuçlar:
(0, 100_000, 900_000)— %90 LP yakılır, %10 platform’a kilitlenir.(50_000, 100_000, 850_000)— %85 yakılır, %15 platform’a kilitlenir.(0, 0, 1_000_000)— tam yakma, NFT basımı yok. Katı “içeriden kimse yok” başlatmaları.
Markalama alanları
name, web ve img satır içi bayt dizileridir, boyut sabitine kadar sıfırlarla doldurulmuştur. Bunları dizeler olarak okumak için ilk \0’a kadar dilimleyin:
name: 64, web: 256, img: 256), böylece platformlar explorer’lar ve toplayıcılar için yeterli meta veri içerebilir, zincir dışı depolamaya dokunmadan. Bu boyutları aşan herhangi bir şey CreatePlatformConfig’te InvalidInput ile geri döner.
Ücret mekaniği
BirPlatformConfig’e bağlı bir curve üzerindeki swap üç katmanlı ücret alır:
trade_feeprotokolünprotocol_fee_owner’ına tahakkuk eder (CollectFeearacılığıyla talep edilir).platform_feeplatform başına vault’a tahakkuk eder (ClaimPlatformFeeveyaClaimPlatformFeeFromVaultaracılığıyla talep edilir; bkz.instructions).creator_feecreator’ın pubkey’i + quote mint tarafından anahtarlanan creator başına vault’a tahakkuk eder (ClaimCreatorFeearacılığıyla talep edilir).
Ücret sınırları
Her iki oran da1/1_000_000 cinsinden ifade edilir, bu nedenle 5000 50 bps ve 50000 500 bps’dir.
fee_rate için iki uygulama noktası farklı dosyalardaki ayrı require! çağrılarıdır, bu nedenle farklı hata kodları taşırlar, ancak aynı tavanı uygularlar. İzin verilen herhangi bir oranla oluşturulan bir platform daha sonra düzenlenebilir, AllInfo toplu varyantı da dahil olmak üzere her alanı yeniden yazar.
Her iki fee_rate sınırı orijinal olarak 100 bps (10000) idi. Güncelleme sınırı 2026-01-27’de 25000 (250 bps)‘e taşındı; 2026-08-26’da her ikisi 50000 (500 bps)‘e taşındı — bkz. changelog girişi.
GlobalConfig.max_share_fee_rate her iki oranı da sınırlamaz. Dört swap talimatının aldığı işlem başına share_fee_rate argümanını — referral ücretini — sınırlar ve başka hiçbir şeyi değil. Bkz. global-config.
Token-2022 transfer-fee yetkileri
transfer_fee_extension_auth, bir başlatma InitializeWithToken2022 aracılığıyla transfer ücreti eklenmiş olarak oluşturulduğunda, base mint’in TransferFeeConfig yetkililerini tutacak platform anahtarını adlandırır. Uzantı iki yetkiliye sahiptir ve bunlar başlatma yaşam döngüsünün farklı noktalarında teslim edilir:
2026-08-27 öncesinde mint her iki yetkilide
authority PDA ile oluşturuldu ve her ikisi mezuniyet sırasında platform’a taşındı. Program hiçbir çekme-alıkoyunmuş veya hasat talimatı göstermez, bu nedenle bağlama eğrisi aşamasında alıkoyulan ücretler başlatma mezun olana kadar erişilemez durumda kaldı. Çekme tarafını mint oluşturmada yazmak, bunları ilk işlemden itibaren talep edilebilir hale getirir — bkz. changelog girişi.
Planlama için değer olan iki sonuç:
- Alanı başlatmadan sonra değil, başlatmadan önce ayarlayın.
transfer_fee_extension_authPubkey::default()iken oluşturulan bir başlatma,authorityPDA’yı çekme tarafına koyar. Alanı daha sonra ayarlamak hala çalışır — mezuniyet PDA’yı yerinde bulur ve yetkileri teslim eder — ancak bu arada hiçbir şey alıkoyulan bakiyeyi çekemez. - Alanı başlatma ortasında döndürmek iki yetkiliye ayırır. Başlatmanın oluşturulması ile mezuniyeti arasında
transfer_fee_extension_auth’u değiştirin ve mint’in çekme-alıkoyunmuş yetkilisi oluşturmada yapılandırılan anahtarda kalır (PDA artık tutmaz, bu nedenle geçiş bu teslimi atlar) ücret-config yetkilisi yeni anahtara gider. Başlatmalar arasında döndürün veya iki anahtarı Token-2022 aracılığıyla doğrudan uzlaştırmayı planlayın.
Pubkey::default()’da bırakan bir platform her iki yetkiliye de authority PDA’da kalıcı olarak tutar: ücret oranı asla değiştirilemez ve alıkoyulan bakiye asla çekilemez. Bir başlatmaya transfer ücreti ekleyin ancak ve ancak platform bu anahtarları tutmayı amaçlıyorsa.
NFT geçiş bölüşümü (yalnızca CPMM)
Bir başlatma CPMM’ye mezun olduğunda, geçiş talimatıCPMM::InitializeWithPermission tarafından basılan LP token’larını iki şekilde böler:
lp_to_platform sıfır değilse, LP-Lock programı bunu platform_nft_wallet tarafından sahip olunan bir Fee Key NFT’sine sarar. Bu, yükseltme öncesi davranışını değiştirir ve ayrı platform ve creator Fee Key’leri oluştururdu. Yükseltmeden önce tamamlanan geçişler tarafından oluşturulan Fee Key’ler değişmeden kalır. Bu LP-fee hakkı platform_cp_creator tarafından kontrol edilen CPMM creator ücretlerinden ayrıdır.
Yakma dilimi doğrudan yakılır, bu nedenle hiçbir hesap bunu çekemez veya bu payın temsil ettiği LP ücretlerini talep edemez.
migrate_type = 0 depolanan mevcut başlatmalar hala eski AMM v4 yolunu kullanabilir. Yeni başlatma bu geçiş türünü reddeder.
Başlatma parametresi kuralları
restrict_curve_param anahtardır. 0’da program kuralları hiç okumaz. 1’de, bu platform üzerinden yönlendirilen her başlatma, seçtiği GlobalConfig’in PlatformCurveRule hesabını karşılamalı ve başlatma oluşturucu bu hesabı remaining_accounts’a eklemelidir.
Eq, Gte, Lte ve Neq’i destekleyen bir (field, op, value) üçlüsüdür. Bu değer bantlarını, alternatif seviyeleri, mezuniyet değerleme kapakları, geçiş tabanları, token türü kapılarını ve zaman kutusu gruplarını kapsar — tam model, alan tablosu ve dokuz çalışılmış oyun kitabı products/launchlab/curve-rules’da bulunur.
Burada o sayfada değil, iki şey ait:
curve_rule_managerbir devir, transfer değil.UpdatePlatformConfig::CurveRuleManageraracılığıyla ayarlayın ve bu cüzdan admin anahtarı olmadan bu platform’un kural hesaplarını oluşturabilir, güncelleyebilir, kaldırabilir ve kapatabilir. Platform admin paralel olarak aynı güce sahip kalır, bu nedenle alanı döndürmek veya temizlemek kontrolü geri alır.Pubkey::default()yalnızca admin’in kuralları yönetebileceği anlamına gelir.restrict_curve_param’ı çeviremez, bu admin’e özel bir çağrı kalır.- Kurallar
GlobalConfigyerine, üzerine uygulanır. Kural kontrolü config’in kendi sınırlarından önce çalışır ve bunları yalnızca daraltabilir.
curve_params: Vec<PlatformCurveParam> izin listesinin yerini alır; bu yalnızca tam eşitliği test edebilir, tüm config’ler arasında en fazla 10 giriş tutabilir ve PlatformConfig hesabının kendisini büyütebilir. Bunu kullanan platformlar protokol tarafından tek seferlik bir geçişte geçirildi; eski alan, iki talimatı ve MAX_CURVE_PARAMS gitti.
PlatformAllowConfig — bir platformu kısıtlama
Her platform, başlatmalarının hangi GlobalConfig hesaplarını kullanabileceğini kısıtlamayı seçer. restrict_global_config’i UpdatePlatformConfig::RestrictGlobalConfig(0 | 1) ile ayarlayın.
[b"platform_allow_config", platform_config, global_config].
Platform admin, CreatePlatformAllowConfig ve ClosePlatformAllowConfig aracılığıyla izin verilen her çift başına bir hesap oluşturur veya kapatır. Kısıtlama 1 olduğunda, başlatma remaining_accounts’da beklenen PDA’yı arar ve eksik hesabı NotEnoughRemainingAccounts ile reddeder. Kısıtlama 0 olduğunda, izin hesabı gerekli değildir.
Eski protokol-admin tarafından yönetilen PlatformGlobalAccess hesabı ve oluştur/kapat talimatları emekli oldu. Mevcut PlatformConfig ve GlobalConfig boyutları değişmez, ancak dekoderler eski global bayrağını yeni platform bayrağıyla değiştirmelidir. Eski erişim PDA’ları yeni kontrol tarafından tüketilmez.
Okuma yolu
PoolState.platform_config orijinal PlatformConfig’i doğrudan gösterir — bir kez getirin ve markalamayı önbelleğe alın.
Güncelleme yolu
Cüzdan döndürmeleri (
platform_fee_wallet, platform_nft_wallet, platform_vesting_wallet, platform_cp_creator, transfer_fee_extension_auth, cpswap_config) hepsi UpdatePlatformConfig aracılığıyla gider. Tam param kodları için kaynağın update_platform_config gönderim tablosunu okuyun.
Yaygın tuzaklar
restrict_curve_paramoluşturucu güncellendiğinde etkinleştirildi.1olduğunda kural PDA’sı her başlatmadaremaining_accounts’da olmalı, kural hesabı olmayan bir config için bile — eksik hesapNotEnoughRemainingAccounts’tır, geçiş değil. Oluşturucu değişikliğini önce gönderin, sonra bayrağı çevirin.restrict_curve_paramboş bir kuralla etkinleştirildi. Sıfır grup tutan veya sıfır kısıtlama tutan bir grup her şeye izin verir. Bayrağı etkinleştirmek kendi başına bir kısıtlama değildir; önce grupları yazın, SDK kontrolü ile doğrulayın ve tüm diziyi devnet’te prova yapın.- NFT-bölüşüm yuvarlama. Üç ölçek tam olarak
1_000_000’e toplanmalıdır.CreatePlatformConfig’te bir hata geri döner; çalışma zamanında bir hata ekstra bir LP birimi basacak veya yakacak, bu da katı eşitlik kontrolünün orada olmasının nedenidir. - Platform vesting çift tahsisi.
platform_vesting_scale > 0ise, platform başlatmanın bağış toplama sona erdikten sonra bir kezCreatePlatformVestingAccount’u çağırmalıdır; unutursa, bu pay tahsis edilmemiş ve sonsuza kadar uyuşuk kalır (başlatmanıntotal_locked_amountbütçesi tüketilir ancak platform asla talep etmez). platform_cp_creatorbelirsizliği.Pubkey::default()olarak ayarlandığında, başlatma yaratıcısı mezuniyet sonrası CPMM pool’ununpool_creator’ı olarak kaydedilir; gerçek bir anahtara ayarlandığında, bu anahtar kaydedilir. Bu, mezuniyet sonrası CPMM creator ücretlerinin yararlanıcısını ve orijinalCPMM::CollectCreatorFeeyolunu imzalayabilecek kişiyi belirler. İzinsiz koleksiyon yolu hala bu kaydedilen anahtarın kanonik ATA’larını öder. Platform-config oluşturma zamanında hangi modeli istediğinize karar verin.transfer_fee_extension_authgeç ayarlandı veya döndürüldü. Alan Token-2022 başlatması başına iki kez okunur — mint oluşturmadawithdraw_withheld_authorityiçin bir kez, mezuniyettetransfer_fee_config_authorityiçin bir kez — bu nedenle bu iki an arasında değişen bir değer iki yetkiliye farklı anahtarlarda bırakır. Bkz. Token-2022 transfer-fee yetkileri.- İzin hesabı olmadan kısıtlama.
restrict_global_config’i etkinleştirmeden önce gerekliPlatformAllowConfig’i oluşturmak, bu config’i seçen yeni başlatmaları engeller.
İşaretçiler
products/launchlab/global-config— bir başlatmanın karşılaması gereken protokol tarafı kuralları.products/launchlab/vesting—platform_vesting_scalemekaniği.products/launchlab/creator-fees— creator ücretleri versus platform Fee Key hakları.products/launchlab/platforms— platform entegratörü nasıl yapılır.
raydium-launch/programs/launchpad/src/states/platform_config.rs—PlatformConfig,PlatformParams,MigrateNftInfo,is_curve_rule_manager,is_platform_admin.raydium-launch/programs/launchpad/src/states/platform_curve_rule.rs—PlatformCurveRule,CurveRuleGroup,ParamConstraint.raydium-launch/programs/launchpad/src/states/platform_allow_config.rs—PlatformAllowConfig.raydium-launch/programs/launchpad/src/instructions/platform/update_platform_config.rs—PlatformConfigParamgönderimi ve güncelleme zamanı ücret sınırlarını uygulayan alan başına ayarlayıcılar.raydium-launch/programs/launchpad/src/lib.rs— platform config ve allow-config giriş noktaları.raydium-launch/programs/launchpad/src/instructions/initialize_with_token_2022.rs—transfer_fee_extension_auth’un yeni mint’inTransferFeeConfig’ine yazıldığı yer.raydium-launch/programs/launchpad/src/instructions/admin/migrate_to_cpswap.rs— mezuniyet zamanı yetki teslimi veget_withdraw_withheld_authoritykoruması.

