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, geri alınabilir bir depozitodur. SIMD-0437, her hesabın tutması gereken depozitoyu beş bağımsız adımda düşürü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.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 geri verilir. 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 tutmuştur — bir cüzdan ilişkili token hesabı açtığında görülen ~0.00203928 SOL.
SIMD-0437 neler 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. Adım 2 aynı gün testnet’e ulaştı ve Eylül 2026 ortasında mainnet’te bekleniyor; adımlar 3–5, Kasım 2026 civarında beklenen Agave 4.4 için tutulmuştur. Zamanlamayı değişebilir olarak düşünün — Vakıf, durum büyümesi kötü davranırsa dağıtımı duraklatacağını söylemiştir — ve canlı değeri kümeye kodlamak yerine oradan okuyun.
SIMD-0437, SIMD-0194’e bağlıdır; bu, kira muafiyeti 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.Mevcut hesaplar neden ç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. 6,960 lamport başına finanse edilen bir hesap, adım 1 etkinleştirildikten sonra bu bakiyeyi tutar, bu nedenle aşırı finanse edilir: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 fazlasını 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şimde bulunmuş 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
Programa ait 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.
Sarılı SOL hesapları tek token programı istisnasıdır: lamport bakiyeleri onların token bakiyesidir, bu nedenle her iki program da onları
TokenError::NativeNotSupported ile reddeder. Her iki program bunun yerine UnwrapLamports (discriminant 45) sunar — spl-token-interface içinde WithdrawExcessLamports ile birlikte yer alır, bu nedenle eski programın da Token-2022 gibi vardır — ve @solana/spl-token 0.4.15 itibariyle createUnwrapLamportsInstruction gönderir. Yerel hesapları düz bir kira taramasında atlayın ve bunları kasıtlı olarak işleyin; bunu güvenli bir şekilde yapmanın deseni, Raydium’un kendi programlarının kullandığı aşağıdaki desendir.
WithdrawExcessLamports talimatı
Her iki token programının talimat enumlarında 38 discriminant. spl-token-interface kaynağından:
- 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.
Talimatı oluşturma
@solana/spl-token bunun için bir oluşturucu dışa aktarmaz. 0.4.15 itibarıyla enum girişi hâlâ yorum satırı içindedir — ayrıca upstream’in tanımlayıcıyı fazladan “al” ile WithdrawalExcessLamports olarak yazdığını unutmayın; bu nedenle onu grep’leyin:
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 maliyetlidir — 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ümeye 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 işleme: bir işleme kaç tane sığar
HerWithdrawExcessLamports talimatı, bir benzersiz yazılabilir hesap anahtarı — derlenmiş mesajda 32 bayt — artı yaklaşık 7 bayt talimat kodlaması katkıda bulunur. Hedef, yetki 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 25 talimat sığar. İşlem başına yirmi, güvenli çalışma numarasıdır ve Raydium’un kendi uygulamasının kullandığı şeydir. 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 hesabı geri almak daha az maliyetli değildir, 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 programlara göre bölünmüş olarak gösterir ve her şeyi toplu işlemler halinde tarar. Tarama salt okunur — Tüm kirayı geri al düğmesine basana kadar imza yok. Sayfa kasıtlı olarak yalnızca token hesaplarını kapsar. Kirayı 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ığı. Bu demolar Solana mainnet-beta’ya karşı
@raydium-io/raydium-sdk-v2@0.2.64-alpha hedefler, 2026-09 doğrulanmış; raydium-sdk-V2-demo deposu kendisi şu anda 0.2.62-alpha yükler ve ikisi burada birbirinin yerine kullanılabilir. 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 betik:
reclaimRent.ts, işlem başına 20 hesapta toplu işleme yapar ve tüm toplu işlemleri bir geçişte imzalar:
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.
Raydium programları kendi taraflarında neler tarar
Cüzdanınız, azalmayı serbest bırakan tek yer değildir. Her havuz kira tutar — kasalar, LP mintleri ve eski oranla finanse edilen programa ait durum hesapları. Bu kira protokole aittir, LP’lere değil: hesabı oluşturan kişi tarafından ödendi, herhangi bir havuzun rezervlerinin parçası değildir ve hiçbir zaman eğriye girmedi. Üç program, 2026-09-09’da bunu geri vermek için bir yönetici talimatı kazandı:
Adresler
reference/program-addresses içindedir. CLMM ve Stable AMM bu sürümün parçası değildi.
Bunun hiçbiri bir LP veya tüccarı etkilemez. Bu talimatlar lamportları ve yalnızca lamportları taşır. Token bakiyeleri, hesap verileri, sahipleri, havuz durumu, LP arzı, ücret sayaçları ve eğri hepsi dokunulmamış kalır ve hiçbiri bir hesabı kapatamaz. Bir havuzun swap teklifi, taramadan önce ve sonra aynıdır. Kullanıcı tarafı işlem, katılım ve son tarih yoktur.
Her programın işlediği üç hesap şekli
Üçü de aynı gönderimi izler, kaynak hesabının sahibinde:- Bir program yetkilisi PDA’sı tarafından sahip olunan token hesabı veya mint — program, token programının
WithdrawExcessLamports(discriminant 38) değerini CPI’lar, bu PDA’yı imzalayarak. - Sarılı SOL kasası —
WithdrawExcessLamportsyerel hesapları reddeder, bu nedenle program önceSyncNativeyapar (bağışlanan fazlalığı sarılıamountiçine katlayarak), sarılı miktarın tam olarak ne kadar büyüdüğünü ölçer, bu delta içinUnwrapLamportsyapar ve ardından sarılı bakiyenin ön senkronizasyon değerine geri döndüğünü iddia eder. Bu kontrol başarısız olursa tüm talimatLamportsCalculateErrorile geri döner. Bu nedenle SOL tarafı havuz kasası, bir tarama aracılığıyla tam likiditeyi tutar. - Programa ait durum hesabı —
AmmInfo,PoolState,AmmConfig,ObservationState, birPlatformConfigve benzeri. Bir program kendi hesaplarını doğrudan borçlandırabilir, bu nedenle bakiyeyi CPI olmadanrent.minimum_balance(data_len)değerine düşürür.
Bu yollar, crate sürümüne değil, dağıtılan token programına bağlıdır. Üç program da token talimatlarını elle kodlar —
WithdrawExcessLamports için tek bir 38 bayt, UnwrapLamports için 45 artı bir COption<u64> — ve bunları kaynak hesaba sahip olan token programına gönderir. Her iki talimat da geçerli mainnet SPL Token ve Token-2022 programlarında mevcuttur. Eski bir paketlenmiş SPL Token derlemesi çalıştıran yerel bir doğrulayıcı veya test demesi bunları uygulamaz ve bir tarama ona karşı bilinmeyen bir discriminator yerine Raydium programında herhangi bir şey üzerinde başarısız olur. Bu yolları mainnet klonlanmış bir token programına karşı test edin.Yerinde hala geri alınamayan şey
Bir CLMM pozisyonunun kirası bundan etkilenmez — yukarıdaki tablo söylediği gibi pozisyon kapatıldığında geri döner. LaunchLab taban mintinde de aynı: başlatma talimatı, arzı bastıran aynı çağrıdaMintTokens değerini iptal eder, bu nedenle hiçbir anahtar bu mint için WithdrawExcessLamports imzalayamaz ve kirası tasarım gereği mahsur kalır.
Şimdi geri almalı mısınız yoksa beklemeli misiniz?
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 maliyetlidir.
- Ş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.
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 neler değişir.
Kira azaltma: veriye dayalı bir 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ı.

