Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
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 →
Temel ayrım: programlar ve hesaplar
Programlar
Solana’da bir program yürütülebilir kod — derlenmemiş bir dosyadan yüklenen, birPubkey adresine dağıtılan ve işlemler aracılığıyla çağrılabilen ikili dosya. Programların ilişkili durumu yoktur; yalnızca mantık içerirler.
Raydium’un programları:
- CPMM:
CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F - CLMM:
CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK - AMM v4:
675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
Hesaplar
Bir hesap zincir üzerindeki bir veri satırıdır. Her hesabın:pubkey— adresi.owner— onu sahibi olan program (yazmaları kontrol eder).data— ham baytlar.lamports— SOL bakiyesi (1 SOL = 1.000.000.000 lamport).rent_epoch— eski kira toplama alanı (kira muafiyeti zorunlu hale geldikten beri yok sayılır).
Sahiplik
Her hesap tam olarak bir program tarafından sahiplenilir. Yalnızca o programın kodu hesabındata alanını değiştirebilir. Bir kullanıcı, imzaladıkları hesapta lamports değiştirebilir (SOL gönder/al), ancak data değiştirmek sahibi programın adına bunu yapmasını gerektirir.
Örnekler:
- Kullanıcı cüzdan: Sistem Programı tarafından sahiplenilir. Lamportlar burada yaşar; aktarmak için imzalarsınız.
- USDC token hesabınız: SPL Token Programı tarafından sahiplenilir. Token programının
transferkomutu bakiyeyi günceller. - Raydium havuz durumu hesabı: CPMM programı tarafından sahiplenilir. Yalnızca CPMM’nin komutları rezervleri, ücretleri vb. değiştirebilir.
- Raydium pozisyon NFT’sinin
PersonalPositionState: CLMM programı tarafından sahiplenilir.
Kira ve kira muafiyeti
Bir hesap oluşturmak depolama alanı tüketir. Solana bu alan için kira alır, ancak 2020’den beri tüm yeni hesaplar kira muaf olmalıdır — bu, 2 yıl boyunca borçlu olacakları kiranın ön ödenmiş olacağı kadar lamport tuttuğu anlamına gelir. Uygulamada:- Kira muaf hesap selameten yaşar.
- Hesabı kapatmak lamportları kapatan imzalayıcıya döndürür.
Raydium kira masrafları
| Hesap | Boyut | Kira |
|---|---|---|
| CPMM PoolState | ~1.440 B | ~0,011 SOL |
| CLMM PoolState | ~1.500 B | ~0,012 SOL |
| CLMM TickArray | ~9.000 B | ~0,063 SOL |
| CLMM PersonalPositionState | ~280 B | ~0,003 SOL |
| ATA | 165 B | ~0,002 SOL |
| Vault (Token Hesabı) | 165 B | ~0,002 SOL |
Veri ve yürütülebilir hesaplar
Hesaplar iki türde gelir:Veri hesapları
Durumu tutar (havuz rezervleri, token bakiyeleri, kullanıcı pozisyonları).executable = false. Bunlar çoğunluğudur.
Yürütülebilir hesaplar
Program bytecode’unu tutar.executable = true. Bunlar programlardır (CPMM, CLMM, vb.). Programların bytecode’larının ötesinde veri yoktur.
Program türetilmiş hesaplar (PDA’lar)
Bir PDA, adresi bir program ve bazı seedler’den belirleyici biçimde türetilen veri hesabıdır — bu adres için özel bir anahtar yoktur. Yalnızca türetme programıinvoke_signed aracılığıyla bir PDA adına imzalayabilir.
Raydium, PDA’ları yaygın olarak kullanır:
- Havuz durumu PDA’ları:
[poolTypeDiscriminator, mintA, mintB, ammConfig]adresinden türetilir. - Vault PDA’ları:
[pool, mint]adresinden türetilir. - Gözlem durumu PDA’sı:
[observationSeed, pool]adresinden türetilir.
solana-fundamentals/pdas-and-cpis.
İşlemler ve hesap referansları
Her Solana işlemi, okuacağı/yazacağı hesapların açık bir listesini taşır. Çalışma zamanı şunları uygular:- Listelenen hesaplar okunabilir veya yazılabilir (ilgili
is_writablebayrağına göre). - Listelenmemiş hesaplara dokunulamaz.
Hesap boyutu ve veri düzeni
Her Raydium hesabının sabit veya sınırlı bir boyutu vardır. Düzen koddaki Rust yapıları (#[repr(C)] ile) olarak tanımlanır ve sdk-api/anchor-idl içinde belgelenmiştir.
Anchor programları, oluşturdukları her hesaba 8 baytlık bir diskriminatör ekler; bu hash("account:<StructName>")[0..8] adresinden türetilir. Bu, istemcilerin ilk 8 baytı okuyarak hesap türünü belirlemesine izin verir — bir türün tüm hesaplarını numaralandıran getProgramAccounts taramaları için önemlidir.
Raydium havuz durumunu okuma
SDK aracılığıyla:src/raydium/cpmm/layout.ts içindedir.
Çalışan örnek: token hesabını okuma
Bir kullanıcının USDC bakiyesini oku.Raydium için neden bu önemli
Hesap modeli Raydium’un tasarımını şekillendirir:- Havuz durumu tek bir hesaptır — bir havuz hakkında her şey (mintler, rezervler, ücretler, yönetici) havuz programı tarafından sahiplenilen tek bir hesapta yaşar.
- LP tokenler standart SPL token hesaplarıdır — Raydium tokenleştirmeyi SPL Token programına delegeler.
- Tick dizileri bölünmüştür — CLMM’nin tek bir büyüyebilir tick dizisi olamaz çünkü hesaplar sabit ayrılmış boyuta sahiptir; bunun yerine bölünmüş
TickArrayPDA’larını kullanır. - Pozisyon NFT’leri Metaplex NFT’leridir — CLMM pozisyonları Metaplex başına standart NFT’lerdir; pozisyon durumu ayrı bir PDA’dır.
- “Havuz rezervleri nerede?” → SPL Token programı tarafından sahiplenilen iki vault hesabı (token hesapları), yetki havuz programının bir PDA’sına devredilmiş.
- “CLMM için tick verisi nerede?” → ardışık 60 tick’i kapsayan bir dizi TickArray PDA’ları.
- “Benim farm stake’im nerede?” →
[user, farmId]adresinden türetilmişUserLedgerPDA’sı, farm programı tarafından sahiplenilir.
İşaretçiler
solana-fundamentals/programs-and-anchor— programlar hesapları nasıl işler.solana-fundamentals/pdas-and-cpis— PDA türetimi ve CPI.solana-fundamentals/transactions-and-fees— hesaplar işlemlerde nasıl referans alınır.sdk-api/anchor-idl— Raydium’un programları için hesap düzenleri.
- Solana Hesap belgeleri.
- SPL Token programı — token hesaplarının yaşadığı yer.


