Yhteenveto
V0-transaktiot lisäävät osoitehakutaulut (ALT:t), jotka mahdollistavat viittaukset tileille 1-tavuisten indeksien kautta 32-tavuisten avainten sijaan. Tämä säästää 31 tavua per ALT-ratkaistu tili.
Solana tukee kahta transaktiomuotoa: perinteinen ja versioitu (v0).
Validator määrittää muodon tarkastelemalla viestin ensimmäistä tavua:
- Jos ensimmäisessä tavussa on
versioprefiksi-bitti
asetettuna, kyseessä on versioitu viesti. Tällä hetkellä tuetaan vain
versiota 0. Seuraavat 3 tavua ovat
MessageHeader. - Muussa tapauksessa kyseessä on perinteinen viesti. Ensimmäinen tavu on
num_required_signatures, ja seuraavat 2 tavua täydentävät otsikon.
Milloin käyttää V0-transaktioita
Käytä V0:aa, kun transaktiosi viittaa moniin tileihin ja lähestyy 1 232 tavun pakettirajaa. Jos transaktiosi mahtuu kokorajoituksen sisään kaikki tilit sisällytettynä, perinteiset transaktiot ovat yksinkertaisempia ja niillä on laajempi työkalutuki. V0 vaaditaan osoitehakutaulujen käyttöön.
V0-viestimuoto
V0-viestissä on samat kentät kuin perinteisessä viestissä, sekä lisäksi
address_table_lookups-taulukko liitettynä ohjeiden jälkeen:
| Kenttä | Koko | Kuvaus |
|---|---|---|
0x80 | 1 tavu | Versioprefiksitavu |
header | 3 tavua | MessageHeader (sama kuin perinteinen) |
| INLINE_CODE_PLACEHOLDER_ebafc0613c02c1727_END | compact-u16 + N x 32 tavua | Avaimet, jotka esiintyvät kirjaimellisesti transaktiossa |
recent_blockhash | 32 tavua | Blockhash |
instructions | compact-u16 + vaihteleva | Sama muoto kuin perinteinen |
address_table_lookups | compact-u16 + vaihteleva | ALT-viittaukset (katso alla) |
Jokainen osoitetaulukon hakumerkintä sisältää:
| Kenttä | Koko | Kuvaus |
|---|---|---|
account_key | 32 tavua | ALT-tilin julkinen avain |
writable_indexes | compact-u16 + N x 1 tavu | Indeksit ALT:iin kirjoitettaville tileille |
readonly_indexes | compact-u16 + N x 1 tavu | Indeksit ALT:iin vain luku -oikeudella oleville tileille |
Osoitetaulukon selvitys
ALT on ketjussa oleva tili, joka tallentaa jopa 256 julkista avainta. Viittaamalla ALT:iin transaktio voi sisältää lisätilejä käyttämällä 1-tavuisia indeksejä 32-tavuisten julkisten avainten sijaan, mikä vähentää merkittävästi tilikohtaista kuormitusta.
Ajonaikana, ennen suorituksen alkamista, validaattori selvittää kaikki ALT-viittaukset täysiksi julkisiksi avaimiksi. Selvitetyt osoitteet liitetään staattisten tiliavainten perään muodostaen täydellisen tiliavainten listan. ALT:n kautta selvitetyt tilit noudattavat samaa järjestystä kuin staattiset tilit: kirjoitettavat haut tulevat ennen vain luku -oikeudella olevia hakuja.
Osoitetaulukot vaikuttavat vain siihen, miten tileihin viitataan verkossa välitettävässä transaktiossa. Suoritusaikana runtime selvittää kaikki indeksit täysiksi tiliosoitteiksi. ALT:n kautta selvitetyt tilit voivat olla vain kirjoitettavia tai vain luku -oikeudella olevia (ei-allekirjoittajia); ne eivät voi olla allekirjoittajia.
Is this page helpful?