1/ SIMD-0186: Loaded Transaction Data Size Specification standardiserar hur Solana beräknar den totala kontodata som en txn laddar. Den definierar en konsensussäker metod så att varje klient beräknar samma storlek och gör txn-storleken förutsägbar. Här är vad det fixar och hur det fungerar 🧵
2/ De tidigare implementeringarna för txn-datastorlek var ointuitiva och alltför komplexa. Inläsning av programkonton, särskilt med BPF Upgradeable Loader, hade komplicerade gränsfall som gjorde det svårt att genomföra oberoende implementeringar.
3/ SIMD-0186 gör reglerna enkla och tydliga: varje laddat konto räknas exakt en gång. Program som använder BPF Upgradeable Loader inkluderar sina programdata, lägger till 64 byte per konto för metadata och ALT:er lägger till 8 248 byte vardera.
4/ Varför det är viktigt för utvecklare: Laddad kontodata är begränsad per tx och den nya beräkningen kan vara betydligt högre eller lägre för vissa TXN:er. Txn:er som ställer in storleksgränsen för inlästa kontodata kan behöva justera i enlighet med detta. Txns nära sin maxgräns på 64 MB kan nu misslyckas.
5/ Standardgränsen för hela TX är 64 MB (16k CUs). Du kan sänka den med beräkningsbudgetinstruktionen SetLoadedAccountsDataSizeLimit. Att sänka den gränsen kan förbättra schemaläggningen på grund av lägre kostnad per betalda avgifter.
6/ Varför ha en storleksgräns för laddad data? I likhet med gränsen per tx CU får validerare förutsägbar redovisning för en txn:s inlästa kontodata. SIMD-0186 säkerställer att valideringsklienter uppnår identiska txn-datastorleksresultat, vilket tar bort konsensusrisk och förenklar klientutveckling.
9,22K