Ana içeriğe atla
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 →
Bunu ne yapar? CPMM pool’u RPC’den yükler, %0,5 slippage ile swap’i fiyatlandırır, işlemi derler, anahtar çiftinizle imzalar ve gönderir. Başından sonuna kadar ~30 satırda.

Kurulum

Hızlı başlangıç önkoşullarını okuduğunuzdan ve RPC_URL, KEYPAIR ve bağımlılıkları yüklediğinizden emin olun.

Script

swap.mjs olarak kaydedin:

Çalıştırın

Likiditeye sahip olduğunuz herhangi bir CPMM pool’u seçin. Canonical SOL/USDC CPMM pool’u kullanarak örnek:
Beklenen çıktı:

Ne oldu?

  1. Raydium.load SDK’yı başlattı — global yapılandırmayı getirdi, cüzdan bağlamınızı kurdu.
  2. getPoolInfoFromRpc canlı pool durumunu doğrudan RPC’den çekti (API önbelleğinden değil). Yüksek değerli swaplar için her zaman güncel durumu isteyebilirsiniz.
  3. CurveCalculator.swap havuzun ücretinin net olarak sabit ürün çıktısını hesapladı. Bu, programın zincir üzerinde çalıştırdığı matematikle aynıdır; böylece fiyatlandırmaları zincir dışında ve zincir üzerinde karşılaştırabilirsiniz.
  4. raydium.cpmm.swap işlemi V0 biçimiyle derled (adres arama tabloları etkinleştirildi) ve açık hesaplama bütçesi yapılandırması ekledi. Hesaplama bütçesi bahşişi, işlemi meşgul dönemlerde iniş yaptırmaya yardımcı olur.
  5. execute({ sendAndConfirm: true }) imzaladı, gönderdi ve onaylanmayı bekledi.

Genel hatalar

  • Pool not found — Yanlış POOL_ID veya yanlış kümeye işaret ediyorsunuz (mainnet pool ID’si devnet RPC’ye karşı, vb.).
  • Insufficient funds for transaction — Cüzdanınızda swap girişi + ücretler + ATA kirası için yeterli SOL yok.
  • Slippage tolerance exceeded — Havuzun fiyatı fiyatlandırma ve yürütme arasında değişti. Yeniden çalıştırın; veya slippage parametresini artırın; veya her zaman rezervleri yeniden getiren SDK’nın computeAmountOut’unu kullanın.
  • Token account not initialized — Çıkış token’ının ATA yoktu ve örtük-oluştur talimatı inişe geçti ama başka bir nedenle başarısız oldu; cüzdanınızın SOL bakiyesini kontrol edin ve yeniden deneyin.

Sonraki adımlar