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 sürümünü hedefler; 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 iskeletinin hedefi raydium-cp-swap üzerinde chore/upgrade-anchor dalı, Anchor 1.0.2 — master hâlâ 0.32.1 sürümünü kullanır. Program kimlikleri reference/program-addresses sabitlerinden alınır.Ön koşullar
raydium-sdk-V2-demo/src/cpmm klasöründeki bir dosyayı yansıtır; GitHub bağlantısı her bölümün yanında yer alır. Başlatma, demo deposunun config.ts.template dosyasını takip eder (kaynak):
Raydium örneği SDK’nın cephesidir — aşağıdaki her örnek bunu kullanır. Raydium.load asenkron olduğu için varsayılan olarak token listesini yükler; bu getiriyi atlamak için disableLoadToken: true geçirin. Kullanılabilirlik özelliği kontrolü zaten atlanmıştır; disableFeatureCheck: false geçirmediğiniz sürece. Ücret yapılandırmaları ilk kullanımda raydium.api.getCpmmConfigs() aracılığıyla tembel olarak getirilir.
CPMM havuzu oluşturma
Kaynak:src/cpmm/createCpmmPool.ts
- Mint’leri token0/token1 sırasına göre sıralama ve PDA’yı türetme.
- Tek seferlik
create_pool_feeödemesipoolFeeAccount’a. - Eksikse çağıranın ilişkili token hesaplarını oluşturma.
- Her taraf için doğru token programını seçme (SPL Token vs Token-2022).
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 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_* argümanları için kayma ile şişirir ve gerekirse ATA oluşturmalarını oluşturur. raydium.cpmm.computePairAmount({ ... }) bir UI önizlemesi istiyorsanız aynı sayıları döndürür.
Likidite çekme
Kaynak:src/cpmm/withdraw.ts
Protokol/fon/yaratıcı ücretlerini toplama
Kaynak:src/cpmm/collectCreatorFee.ts, src/cpmm/collectAllCreatorFee.ts
Protokol ve fon toplama yetki kapılı kalır. Yaratıcı ücretlerinin iki yolu vardır: yaratıcı tarafından imzalanan CollectCreatorFee ve katkı CollectCreatorFeePermissionless, herhangi bir ödeyici tarafından çağrılabilir ancak yalnızca yaratıcının kanonik ATA’larına aktarabilir. 0.2.64-alpha her iki yaratıcı yolu için modül düzeyinde oluşturucuları gönderir:
İ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. Var olan
düşük düzey talimat oluşturucuları collectCpFeeInstruction,
makeCollectCreatorFeeInstruction ve collectCreatorFeePermissionlessInInstruction olur.PoolState’den okuyabilirsiniz:
Rust CPI iskeletini
Kendi Anchor programınızdan CPMM’yi ç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 takip eder.
CpiContext::new yerine CpiContext::new_with_signer kullanın ve tohumlarınızı geçin.
Yaygın tuzaklar
Bir destek talebini açmadan önce kısa bir kontrol listesi:- Sıralanmış mint’ler. Türetilmiş
poolStatePDA’nız zincir üstü havuzla eşleşmiyorsa, muhtemelen mint’leri sıralamayı unuttunuz. - Eski API fiyatı.
CurveCalculator.swapiçineapi-v3.raydium.ioüzerinden bir rezerv değeri hiçbir zaman geçirmeyin. 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 mint’leri için yetersiz kayma. Havuzun her iki tarafı da Token-2022 transfer ücreti mint’i ise,
minimum_amount_outkasanın gönderdiği değil, kullanıcının gerçekten aldığı şey cinsinden olmalıdır. - Swap’ta
NotApproved.PoolState.statuskontrol edin — yönetici bu havuzda swap’ları duraklatmış olabilir. Durum bitmaski içinproducts/cpmm/instructionsbölümüne bakın.
Sonraki adımlar
sdk-api/typescript-sdk— tam SDK referansı.sdk-api/rest-api— fiyat ve havuz meta verisi uç noktaları.user-flows/create-cpmm-pool— aynı akışın kod olmayan açıklaması.integration-guides/aggregator— CPMM’yi çok atlamalı bir yolun parçası olarak yönlendiriyorsanız.

