Skip to main content
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 →
Kira bir ücret değil, iade edilebilir bir depozitodur. SIMD-0437, her hesabın tutması gereken depozitoyu beş bağımsız kapılı adımda azaltır. Bir adımdan önce oluşturulan hesaplar, finanse edildikleri bakiyeyi tutar; bu nedenle her adım onları aşırı finanse eder. SPL Token ve Token-2022 programları, hesabı kapatmadan veya token bakiyesine dokunmadan WithdrawExcessLamports aracılığıyla bu farkı geri verebilir. Hiçbir şey sona ermez — fazlalık, onu taşımayı seçene kadar kendi hesaplarınızda kalır.
Solana hesaplarının nasıl finanse edildiğini yeni öğreniyorsanız, önce Hesap Modeli bölümünü okuyun.

Kira aslında nedir

Solana’daki her hesap, kapladığı alan tarafından boyutlandırılan bir SOL depozitosu tutar. Harcanmaz — hesap kapatıldığında tamamen iade edilir. Formül şu şekildedir:
ACCOUNT_STORAGE_OVERHEAD, yükü ne olursa olsun her hesabın ödediği sabit 128 bayttır. lamports_per_byte, SIMD-0437’nin değiştirdiği ağ genelinde sabittir. Standart 165 baytlık bir SPL token hesabı bu nedenle her zaman (128 + 165) × 6,960 = 2,039,280 lamport maliyeti — bir cüzdan ilişkili token hesabı açtığında görülen ~0.00203928 SOL.

SIMD-0437 ne değiştirir

SIMD-0437, lamports_per_byte değerini 6,960’tan 696’ya düşürür — %90 azalış — beş ayrı özellik kapısı aracılığıyla dağıtılır, böylece doğrulayıcılar durum büyümesi etkisini bir seferde bir adım absorbe edebilir. Adım 1, mainnet’te 3 Eylül 2026’da etkinleştirildi. Kalan adımlar, özellik kapıları etkinleştirildikçe yayınlanır; zamanlamayı değişebilir olarak kabul edin ve canlı değeri kodlamak yerine kümeden okuyun.
SIMD-0437, SIMD-0194’e bağlıdır; bu, kira muafiyet eşiğini “özellik etkinleştirmesinde kira parametrelerini ayarlarken gereksiz kayan nokta matematiğinden kaçınmak için” kullanımdan kaldırır. Uygulamada Rent sysvar artık lamports_per_byte_year = 6,333 ile exemption_threshold = 1.0 taşır; eski 3,480 × 2 bölünmesi yerine 6,960 üretir. Bu iki alanı kendiniz çarpmayın — getMinimumBalanceForRentExemption çağırın ve kümenin cevap vermesine izin verin.

Neden mevcut hesaplar çok fazla tutuyor

Sabiti düşürmek, bir hesabın ihtiyaç duyduğu şeyi değiştirir. Bir hesabın sahip olduğu şeyi değiştirmez. Adım 1 etkinleştirilmeden sonra 6,960 lamport başına finanse edilen bir hesap bu bakiyeyi tutar; bu nedenle aşırı finanse edilir:
Adım 1’den sonra 165 baytlık bir SPL token hesabı için bu 293 × (6,960 − 6,333) = 183,711 lamport veya hesap başına ~0.000184 SOL’dir. Uzantı taşıyan bir Token-2022 hesabı daha büyüktür; bu nedenle orantılı olarak daha fazla tutar — 182 baytlık bir hesap 310 × 627 = 194,370 lamport tarafından aşırı finanse edilir. Bireysel olarak bu toz miktarıdır. Yıllar içinde birkaç yüz token ile etkileşim kurmuş bir cüzdan, bunun anlamlı bir katını tutuyor ve adım 5’e kadar her 165 baytlık hesap, minimumunun üzerinde 1,835,352 lamport (~0.00184 SOL) tutuyor.

Hangi hesaplar bunu geri verebilir

Program tarafından sahip olunan bir hesaptaki fazla lamportlar yalnızca o program tarafından taşınabilir. Hesabı kapatmadan kira geri alıp alamayacağınız tamamen hangi programın sahip olduğuna bağlıdır.

SPL Token ve Token-2022

Her ikisi de WithdrawExcessLamports sunar. Hesap açık kalır, token bakiyesini tutar ve basitçe geçerli minimuma düşer.

Diğer Her Şey

Eşdeğer bir talimat yok. Kira yalnızca hesap kapatıldığında serbest bırakılır — kendi ön koşulları olan yıkıcı bir işlem, kira taraması değil.
Somut olarak, Raydium kullanıcılarının tuttuğu hesap türleri için: Sarılı SOL hesapları tek token programı istisnasıdır: lamport bakiyeleri token bakiyesidir; bu nedenle her iki program da TokenError::NativeNotSupported ile reddeder. Token-2022, bu durum için UnwrapLamports (discriminant 45) ekledi; @solana/spl-token 0.4.15 itibariyle createUnwrapLamportsInstruction gönderir. Yerel hesapları kira taramasında atlayın ve bunları kasıtlı olarak işleyin.

WithdrawExcessLamports Talimatı

Her iki token programının talimat enum’larında 38 discriminant’ı. spl-token-interface kaynağından:
Üç özellik, bunu bir cüzdandaki her hesaba karşı güvenli bir şekilde ateşlemeyi sağlar:
  • Bir miktar almaz. Program source.lamports − rent.minimum_balance(source.data_len()) değerini kendisi hesaplar; bu nedenle bir hesabı hiçbir zaman geçerli minimumun altına alamaz ve sonraki adımlar etkinleştirildikçe doğru kalır.
  • Hiçbir şeyi kapatmaz. Hesap verilerini, sahibini ve token bakiyesini tutar.
  • İdempotent’tir. Zaten minimumda olan bir hesaba karşı çalıştırmak sıfır lamport taşır ve başarılı olur.
Dondurulmuş bir token hesabı hala uygun: dondurmak token hareketini kısıtlar, lamportları değil.

Talimatı Oluşturma

@solana/spl-token bunun için bir oluşturucu dışa aktarmaz. 0.4.15 itibariyle enum girişi hala yorum satırı içinde:
Doğrudan kodlayın. Yük tek bir discriminant baytıdır:
Her hesabın kendi programId değerini geçin. SPL Token ve Token-2022 talimatları bir işlemde paylaşılabilir, ancak her biri, kaynak hesabına sahip olan programa adreslenmelidir. Mainnet’te ölçüldüğünde, talimat SPL Token programında 270 işlem birimi ve Token-2022’de 1,414 işlem birimi maliyeti — her iki şekilde de ihmal edilebilir. Gerçek kısıtlama işlem boyutu, işlem değil.

Geri Alınabilir Hesapları Bulma

Fazlalığı kodlanmış bir oranından türetmeyin. Her hesabın şu anda ihtiyaç duyduğu şeyi kümeden sorun; böylece aynı kod beş adımın tamamında çalışmaya devam eder:
getMinimumBalanceForRentExemption(0) yararlı bir yan kanal: tam olarak 128 × lamports_per_byte döndürür; bu nedenle 128’e bölmek, Rent sysvar’ı ayrıştırmadan kümenin hangi dağıtım adımında olduğunu söyler.

Toplu İşleme: Bir İşleme Kaç Tane Sığar

Her WithdrawExcessLamports talimatı, bir benzersiz yazılabilir hesap anahtarı — derlenmiş mesajda 32 bayt — artı yaklaşık 7 bayt talimat kodlaması katkıda bulunur. Hedef, otorite ve ücret ödeyici hepsi aynı cüzdan; bu nedenle aralarında bir anahtar maliyeti vardır. 1,232 baytlık işlem sınırına karşı, işlem bütçesi talimatları ve blockhash sayıldığında kabaca 26 talimat sığar. İşlem başına yirmi güvenli çalışma numarasıdır ve Raydium’un kendi uygulaması bunu kullanır. 116 geri alınabilir hesabı olan bir cüzdan bu nedenle altı işlemde tarar; her biri bir 5,000 lamport taban ücreti. Ekonomiyi not edin: ücret işlem başına alınır, hesap başına değil. Daha az hesap geri almak daha az maliyeti yoktur; bu nedenle kısmi bir tarama nadiren ekstra gidiş dönüşlere değer.

Raydium Aracılığıyla Geri Alma

raydium.io/reclaim-rent sayfası, bağlı cüzdanın SPL Token ve Token-2022 hesaplarını tarar, toplam tutarı programa göre bölünmüş olarak gösterir ve her şeyi toplu işlemler halinde tarar. Tarama salt okunur — Tüm Kiraları Geri Al düğmesine basana kadar imza yok. Sayfa kasıtlı olarak yalnızca token hesaplarını kapsar. Kiraları yalnızca kapatarak serbest bırakabilen hesap türleri, kullanılamaz olarak listelenmek yerine hariç tutulur; çünkü bir hesabı kapatmak farklı, yıkıcı bir işlemdir.

SDK Demosundan Geri Alma

Sürüm başlığı. Demolar, Solana mainnet-beta’ya karşı @raydium-io/raydium-sdk-v2@0.2.42-alpha hedefler; 2026-09 doğrulanmıştır. WithdrawExcessLamports elle kodlanır ve SDK sürümünden bağımsızdır; SDK yalnızca işlem oluşturma ve toplu işleme için kullanılır.
raydium-sdk-V2-demo/src/rent içinde iki komut dosyası:
reclaimRent.ts, işlem başına 20 hesapta toplu işleme yapar ve tüm toplu işlemleri bir geçişte imzalar:
Göndermeden önce simüle edin. simulateTransaction ile accounts.addresses, yürütme sonrası lamport bakiyelerini döndürür; bu, aritmetiğin kümenin gerçekte yapacağı şeyle eşleştiğini doğrulamanın en ucuz yoludur.

Şimdi mi Geri Almalı yoksa Beklemeli mi?

Her ikisi de iyidir ve fark her iki şekilde de küçüktür:
  • Fazlalık hiçbir yere gitmiyor. Kendi hesaplarınızda kalır. Hiçbir şey sona ermez, hiçbir şey taranmaz, son tarih uygulanmaz.
  • Bekleme bileşik olur. Her adım aynı hesaplardan daha fazlasını serbest bırakır ve adım 5’ten sonra bir tarama, bugün bir tarama kadar ücret maliyeti.
  • Şimdi geri almak sonraki adımları kaybettirmez. Bugün taradığınız bir hesap basitçe geçerli minimumda; sonraki adım onu tekrar aşırı finanse eder ve bunu tekrar tarayabilirsiniz.
Erken geri almanın tek gerçek maliyeti taban ücreti; beklemenin tek gerçek maliyeti lamportların biraz daha uzun süre hareketsiz kalmasıdır.

Daha Fazla Okuma

SIMD-0437

Teklif kendisi — beş özellik kapısı ve azalmayı adımlandırmanın mantığı.

Azaltılmış Kira

Solana’nın dağıtım sayfası: geçerli adım, zamanlama ve yeni hesaplar için ne değişir.

Kira azaltma: veriye dayalı analiz

Ekonomi ve adımlandırılmış dağıtımın yönetmek için tasarlandığı durum büyümesi riski.

Hesap Modeli

Solana hesaplarının nasıl finanse edildiği, sahip olunduğu ve kapatıldığı — yukarıdaki her şeyin arka planı.