Solana geliştirmenin temelini yedi kavram oluşturur. Hesaplar ve Programlar ile başlayın, ardından Talimatların nasıl İşlemlere dönüştüğünü takip edin. PDA'lar, CPI'lar ve Ücretler bu yürütme modeli üzerine inşa edilir.
Hesaplar
Solana, tüm durumu 32 baytlık adreslerle anahtarlanan bir anahtar-değer deposu olan hesaplarda saklar. Her hesabın beş alanı vardır: lamports, data, owner, executable ve rent_epoch.
Programlar
Solana'nın akıllı sözleşmeleri sBPF'ye derlenir. Programlar durumsuz yapıdadır ve tüm değiştirilebilir durum, talimatlar aracılığıyla iletilen ayrı veri hesaplarında tutulur.
Talimatlar
Bir program kimliği, hesap listesi ve opak veri baytları içeren, tek bir programı yürütme talebi. Birden fazla talimat tek bir işlem oluşturacak şekilde bir araya getirilebilir.
İşlemler
Solana'daki atomik yürütme birimidir. İmzalar ve bir mesaj (hesap adresleri, son blok karması ve derlenmiş talimatlar) içerir. Maksimum 1232 bayt veya v1 formatıyla 4096 bayt.
Ücretler
İmza başına 5.000 lamports temel ücret, artı talep edilen hesaplama birimleri bazında isteğe bağlı öncelik ücreti. İşlem başına maksimum 1,4 milyon hesaplama birimi.
Program Derived Addresses (PDA'lar)
Bir program kimliği ve tohumlardan türetilen deterministik adresler. Yalnızca sahip program, invoke_signed aracılığıyla bir PDA adına imzalayabilir.
Cross-Program Invocations (CPI'lar)
Bir programın invoke veya invoke_signed aracılığıyla başka bir programı çağırması. İmzalayan ve yazılabilir ayrıcalıkları çağrılan programa aktarılır. Maksimum talimat yığını derinliği 5'tir (üst düzey artı CPI'lar).
Ek Konular
Varlıklar
Solana üzerindeki değiştirilebilir ve değiştirilemez dijital varlıklar (SPL Token, Token-2022).
Kümeler ve Uç Noktalar
Mainnet, Devnet ve Testnet: JSON-RPC isteklerine hizmet eden validator grupları.
| Küme | Genel RPC Uç Noktası | Kullanım |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Üretim |
| Devnet | https://api.devnet.solana.com | Geliştirici denemeleri |
| Testnet | https://api.testnet.solana.com | Validator testleri |
Is this page helpful?