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 bilgisi. Tüm TypeScript örnekleri
@raydium-io/raydium-sdk-v2@0.2.42-alpha sürümünü Solana mainnet-beta üzerinde hedefler, 2026-04 tarihinde doğrulanmıştır. Rust CPI iskeletini raydium-cp-swap master dalında, Anchor 0.30.x sürümünde hedefler. Program ID’leri reference/program-addresses dosyasındaki sabitlerden 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. Token listelerini ve ücret yapılandırmalarını api-v3.raydium.io adresinden tembel yükleme yapar; çevrimdışı ortamlarda kendi verilerinizle besleyebilirsiniz.
CPMM havuzu oluşturma
Kaynak:src/cpmm/createCpmmPool.ts
- Mint’leri PDA türetmeden önce token0/token1 sırasına göre sıralama.
- Tek seferlik
create_pool_feeödemesipoolFeeAccountadresine. - 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 alır. İmzalamak üzere olduğunuz bir işlem için api-v3.raydium.io adresinden fiyat belirtmeyin — bir blok eski bir fiyat, iniş sırasında ExceededSlippage hatasına neden olabilir.
Swap (temel çıkış)
Kaynak:src/cpmm/swapBaseOut.ts
Likidite yatırma
Kaynak:src/cpmm/deposit.ts
lpAmount değerini havuzun mevcut rezervleri kullanarak needed_token_0 ve needed_token_1 değerlerine dönüştürür, talimatın maximum_* argümanları için her birini 1 + slippage ile artırır ve gerekirse ATA oluşturmalarını oluşturur.
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 ile sınırlı kalır. Yaratıcı ücretlerinin iki yolu vardır: mevcut 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 edebilen CollectCreatorFeePermissionless. Sabitlenmiş SDK mevcut ham oluşturucuları ortaya çıkarır:
PoolState adresinden 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 dosyasını takip eder.
CpiContext::new yerine CpiContext::new_with_signer kullanın ve tohumlarınızı geçin.
Yaygın tuzaklar
Destek talebinde bulunmadan ö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ı.
api-v3.raydium.ioadresinden bir rezerv değerini aslaCurveCalculator.swapiçine geçirmeyin. RPC’den alın. - 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 slippage. Havuzun her iki tarafı da Token-2022 transfer ücreti mint’i ise,
minimum_amount_outdeğeriniz kasanın gönderdiği değil, kullanıcının gerçekten aldığı şeye göre belirtilmelidir. - Swap’ta
NotApproved.PoolState.statusdeğerini kontrol edin — yönetici bu havuzda swap’ları duraklatmış olabilir. Durum bit maskesi içinproducts/cpmm/instructionsdosyasına 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.

