Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

Jarry Xiao
Spoluzakladatel @ellipsis_labs
Stručně; DR: Stávající paradigma pro modernizaci programů Solana je katastrofa.
Nejnebezpečnější na psaní kódu chytrých kontraktů je, že datové modely programu jsou po nasazení fakticky uzamčeny.
V tradičním softwarovém inženýrství je klientské API odděleno od backendu. Můžete neviditelně měnit backendové schéma nebo přidávat migrace do databáze.
V programování Solany se můžete pokusit zajistit budoucí podmínky tím, že:
- Přidání strukturálního vyplňování a doufat, že v datech účtu bude dostatek prázdných bitů pro budoucí změny
- Vyžadovat, aby uživatelé ručně podepsali pro migraci stavu aplikace (hrozné uživatelské rozhraní)
- Implementace administrátorských akcí na úrovni aplikace pro migraci schémat
Všimněte si, že vše výše uvedené má potenciál narušit skládatelnost na úrovni VM. Vyžadují také složitou a chybovou logiku pro bezpečné provedení. Nejenže přináší logická data rizika, ale také rizika správy klíčů.
Jedním z argumentů je nikdy neměnit kód po nasazení. Koneckonců, stávající rámec velmi ztěžuje bezpečné úpravy stávajících datových formátů.
Nicméně i kdyby byla neměnnost žádoucí, je naivní a bezohledné si myslet, že neexistují žádné katastrofické chyby k opravě nebo kritické funkce k přidání v budoucnu (některé z nich mohou vyžadovat výměnu kabelů). Firmy budující na tomto stacku jsou nuceny volit mezi bezpečností, rychlostí a kvalitou.
Dnes nástroje umožňující údržbu a kontinuální vývoj dostatečně složité chytré smlouvy prakticky neexistují.
Zde jsou některé funkce, které bych zvažoval zahrnout, kdybych toto prostředí stavěl od základů:
- Ve VM by měly být samostatné API pro čtení a zápis dat z účtu. To umožňuje změny schématu bez přerušení formátu kabelu jak pro on-chain, tak off-chain uživatele.
- Některé (dobrovolné) administrativní funkce chytrých kontraktů by měly existovat na úrovni systému, nikoli na úrovni aplikací.
- Při aktualizaci spustitelného souboru by měla současně dojít k volitelné atomické migraci účtů vlastněných tímto programem.
I když je cílem neměnnost, zabudování systémových nástrojů pro bezpečné softwarové aktualizace je zásadní pro spotřebitelské aplikace s vyvíjejícím se stavem. Současný systém je tak křehký, že nejlepší rada pro tyto vývojáře je nikdy se nedotýkat on-chain schémat, pokud opravdu nevědí, co dělají.

1,28K
Dobrá technologie, šílené, že nám trvalo 5 let, než jsme se sem dostali@solana 😭

nick | helius.dev21. 12. 05:32
getTransactionsForAddress nyní zobrazuje transactionIndex
transactionIndex je pozice transakce v rámci bloku
Tip: Pokud indexujete Solana transakce, nastavte primární klíč jako konkatenaci slot + transactionIndex (unikátní a tříditelný)

97
Top
Hodnocení
Oblíbené

