Sürümlü işlemler

Özet

V0 işlemleri, 32 baytlık anahtarlar yerine 1 baytlık indeksler aracılığıyla hesaplara referans vermeyi sağlayan Adres Arama Tablolarını (ALT'ler) ekler. Bu, ALT ile çözümlenen her hesap için 31 bayt tasarruf sağlar.

Solana iki işlem formatını destekler: eski ve sürümlü (v0).

Validator, mesajın ilk baytını inceleyerek formatı belirler:

  • İlk bayt sürüm öneki bitini içeriyorsa, bu bir sürümlü mesajdır. Şu anda yalnızca sürüm 0 desteklenmektedir. Sonraki 3 bayt MessageHeader'dir.
  • Aksi takdirde, bu bir eski mesajdır. İlk bayt num_required_signatures'dir ve sonraki 2 bayt başlığı tamamlar.

V0 işlemleri ne zaman kullanılmalı

İşleminiz birçok hesaba referans veriyorsa ve 1.232 baytlık paket sınırına yaklaşıyorsa V0 kullanın. İşleminiz tüm hesaplar satır içi olarak boyut sınırına sığıyorsa, eski işlemler daha basittir ve daha geniş araç desteğine sahiptir. Adres Arama Tablolarını kullanmak için V0 gereklidir.

V0 mesaj formatı

Bir v0 mesajı, eski mesajla aynı alanlara sahiptir ve talimatlardan sonra eklenen ek bir address_table_lookups dizisi içerir:

AlanBoyutAçıklama
0x801 baytSürüm öneki baytı
header3 baytMessageHeader (eski ile aynı)
static_account_keyscompact-u16 + N x 32 baytİşlemde doğrudan görünen anahtarlar
recent_blockhash32 baytBlockhash
instructionscompact-u16 + değişkenEski ile aynı format
address_table_lookupscompact-u16 + değişkenALT referansları (aşağıya bakın)

Her adres tablosu arama girişi şunları içerir:

AlanBoyutAçıklama
account_key32 baytALT hesabının genel anahtarı
writable_indexescompact-u16 + N x 1 baytYazılabilir hesaplar için ALT içindeki indeksler
readonly_indexescompact-u16 + N x 1 baytSalt okunur hesaplar için ALT içindeki indeksler

Adres arama tablosu çözümlemesi

Bir ALT, 256'ya kadar genel anahtar depolayan zincir üstü bir hesaptır. Bir ALT'ye referans vererek, bir işlem 32 baytlık genel anahtarlar yerine 1 baytlık indeksler kullanarak ek hesaplar içerebilir ve böylece hesap başına ek yükü önemli ölçüde azaltır.

Çalışma zamanında, yürütme başlamadan önce, validator tüm ALT referanslarını tam genel anahtarlara çözümler. Çözümlenen adresler, tam hesap anahtarları listesini oluşturmak için statik hesap anahtarlarına eklenir. ALT ile çözümlenen hesaplar, statik hesaplarla aynı sıralamayı takip eder: yazılabilir aramalar, salt okunur aramalardan önce gelir.

Adres arama tabloları yalnızca hesapların hat üzerindeki işlemde nasıl referans alındığını etkiler. Yürütme zamanında, çalışma zamanı tüm indeksleri tam hesap adreslerine çözümler. ALT ile çözümlenen hesaplar yalnızca yazılabilir veya salt okunur (imzalayıcı olmayan) olabilir; imzalayıcı olamazlar.

Is this page helpful?

İçindekiler

Sayfayı Düzenle

Yönetici

© 2026 Solana Vakfı.
Tüm hakları saklıdır.
Bağlanın