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 →
Sürüm notu. Tüm TypeScript örnekleri
@raydium-io/raydium-sdk-v2@0.2.64-alpha hedeflemektedir; son olarak 0.2.42-alpha (2026-04) sürümüne karşı çalıştırılmış ve çağrı imzaları 2026-09-09 tarihinde 0.2.64-alpha kaynağına karşı Solana mainnet-beta üzerinde yeniden kontrol edilmiştir. Rust CPI iskeleti raydium-cp-swap üzerinde master dalında, Anchor 1.0.2 hedeflemektedir. Program ID’leri reference/program-addresses içindeki sabitlerden alınmaktadır.Ön koşullar
raydium-sdk-V2-demo/src/cpmm içindeki bir dosyayı yansıtmaktadır; GitHub bağlantısı her bölümün yanında yer almaktadır. Başlatma, demo deposunun config.ts.template dosyasını takip etmektedir (kaynak):
Raydium örneği SDK’nın cephesidir — aşağıdaki her örnek bunu kullanmaktadır. Raydium.load asenkron olduğu için varsayılan olarak token listesini yüklemektedir; bu getirişi atlamak için disableLoadToken: true geçiniz. Kullanılabilirlik özelliği kontrolü, disableFeatureCheck: false geçmediğiniz sürece zaten atlanmaktadır. Ücret yapılandırmaları raydium.api.getCpmmConfigs() aracılığıyla ilk kullanımda tembel olarak getirilmektedir.
CPMM havuzu oluşturma
Kaynak:src/cpmm/createCpmmPool.ts
- Mint’leri PDA’yı türetmeden önce token0/token1 sırasına göre sıralamak.
- Tek seferlik
create_pool_feeödemesinipoolFeeAccount’a yapmak. - Çağıranın ilişkili token hesaplarını eksikse oluşturmak.
- Her bir taraf için doğru token programını (SPL Token vs Token-2022) seçmek.
Swap (temel giriş)
Kaynak:src/cpmm/swap.ts
getPoolInfoFromRpc içinde havuz durumunu RPC’den yeniden getirir. İmzalamak üzere olduğunuz bir işlem için api-v3.raydium.io üzerinden fiyat belirlemeyin — bir blok eski olan bir fiyat, iniş zamanında ExceededSlippage içine kayabilir.
Swap (temel çıkış)
Kaynak:src/cpmm/swapBaseOut.ts
Likidite yatırma
Kaynak:src/cpmm/deposit.ts
maximum_* bağımsız değişkenleri için her iki tarafı slippage tarafından şişirir ve gerekirse ATA oluşturmalarını oluşturur. raydium.cpmm.computePairAmount({ ... }) bir UI önizlemesi için istiyorsanız aynı sayıları döndürür.
Likidite çekme
Kaynak:src/cpmm/withdraw.ts
Protokol/fon/yaratıcı ücretlerini tahsil etme
Kaynak:src/cpmm/collectCreatorFee.ts, src/cpmm/collectAllCreatorFee.ts
Protokol ve fon tahsili yetki ile sınırlıdır. Yaratıcı ücretlerinin iki yolu vardır: yaratıcı tarafından imzalanan CollectCreatorFee ve herhangi bir ödeyicinin çağırabileceği ancak yalnızca yaratıcının kanonik ATA’larına transfer yapabilen CollectCreatorFeePermissionless. 0.2.64-alpha her iki yaratıcı yolu için modül düzeyinde oluşturucular içerir:
İki yaratıcı talimatının farklı ayırıcıları ve hesap düzenleri vardır — izinsiz olanı yaratıcı imzalayanı ayrı bir
payer ve imzalamayan bir creator ile değiştirir. Diğerinin hesaplarını el ile değiştirmek yerine eşleşen oluşturucuyu kullanın.SDK’da protokol veya fon ücreti oluşturucusu yoktur (makeCollectProtocolFeeInstruction ve makeCollectFundFeeInstruction hiçbir ad altında mevcut değildir) — bunlar yönetici yollarıdır ve CreateCreatorFeeShare / CloseCreatorFeeShare de öyledir, bunların da oluşturucusu yoktur. Mevcut olan düşük düzey talimat oluşturucuları collectCpFeeInstruction, makeCollectCreatorFeeInstruction ve collectCreatorFeePermissionlessInInstruction’dır.PoolState’den okuyabilirsiniz:
Rust CPI iskeletı
CPMM’yi kendi Anchor programınızdan çağırmak istiyorsanız — örneğin, mevduat sahipleri adına swap yapan bir kasa — CPI bağlamı şöyle görünür. Hesap sırasıproducts/cpmm/instructions’ı izler.
CpiContext::new’i CpiContext::new_with_signer ile değiştirin ve tohumlarınızı geçin.
Yaygın tuzaklar
Bir destek talebini açmadan önce kısa bir kontrol listesi:- Sıralanmış mintler. Türetilmiş
poolStatePDA’nız zincir üstü havuzla eşleşmiyorsa, muhtemelen mintleri sıralamayı unuttunuz. - Eski API teklifi. Hiçbir zaman
api-v3.raydium.io’dan bir rezerv değeriniCurveCalculator.swap’a geçirmeyin. Bir RPC’den getirin. - Yanlış token programı. Token-2022 mint’inin kasası SPL Token tarafından değil Token-2022 programı tarafından sahiplenilir. Her zaman havuzun
token_0_program/token_1_programalanlarını kullanın. - Transfer ücreti mintleri için yetersiz slippage. Havuzun her iki tarafı da Token-2022 transfer ücreti mint’i ise,
minimum_amount_out’unuz kasanın gönderdiği şey değil, kullanıcının gerçekten aldığı şey cinsinden olmalıdır. - Bir swap’ta
NotApproved.PoolState.status’u kontrol edin — yönetici o havuzda swapleri duraklatmış olabilir. Durum bitmaski içinproducts/cpmm/instructions’a bakın.
Sonraki adımlar
sdk-api/typescript-sdk— tam SDK referansı.sdk-api/rest-api— teklif ve havuz meta verisi uç noktaları.user-flows/create-cpmm-pool— aynı akışın kod olmayan açıklaması.integration-guides/aggregator— çok atlamalı bir yolun parçası olarak CPMM’yi yönlendiriyorsanız.

