Tim Cardano Plutus finalizirao je modele troškova za nove funkcije za Dijkstra eru

Tim je dodao 65 testnih slučajeva za operacije s vrijednostima tokena i ispravio ponašanje kompilatora. Ažuriranje također obuhvaća kompilaciju za Plutus V4 i alate za provjeru formalnih modela sustava.

By SongMarketCap

Updated:

Cardano News - Tim Cardano Plutus finalizirao je modele troškova za nove funkcije za Dijkstra eru

Tim Plutus finalizirao je modele troškova za keepPolicies i dropPolicies, dvije ugrađene funkcije koje se razvijaju za Cardano Dijkstra eru. U ažuriranju od 4. studenoga, voditelj softverskog inženjerstva Ziyang Liu izvijestio je i o novim testovima, ažuriranjima specifikacije i ispravcima kompilatora.

Rad obuhvaća način na koji pametni ugovori rukuju vrijednostima tokena i kako se uračunavaju resursi izvršavanja. To su razvojne promjene koje podupiru pripremu za Dijkstra; izvješće ne najavljuje njihovu aktivaciju na Cardano glavnoj mreži.

Nove funkcije filtriraju tokene prema politici

Dvije funkcije dio su CIP-0168, prijedloga koji proširuje operacije nad BuiltinValue, podatkovnim tipom koji se koristi za predstavljanje količina imovine unutar Plutus pametnih ugovora. Ugrađene funkcije pružaju operacije koje izravno podržava sustav izvršavanja.

Cardano grupira izvorne tokene pod identifikatorima politika povezanim s njihovim pravilima kovanja. keepPolicies zadržava dijelove vrijednosti povezane s odabranim identifikatorima, dok ih dropPolicies uklanja. Ugovor koji obrađuje više skupina tokena može koristiti ove funkcije kako bi izolirao imovinu relevantnu za određenu provjeru.

Spojene promjene ograničavaju popis politika koji svaka funkcija prihvaća na 256 identifikatora. Njihovi dovršeni modeli troškova definiraju kako se izvršavanje obračunava u CPU i memorijskim jedinicama, koje su dio proračuna izvršavanja pametnog ugovora.

Testovi i ispravci kompilatora rješavaju ponašanje programa

Tim je dodao 65 slučajeva usklađenosti za nove Value ugrađene funkcije. Ti testovi uspoređuju izlaz implementacije s očekivanim rezultatom za zadane ulaze. Nove funkcije i multiIndexArray također su dokumentirani u specifikaciji Plutus Core, što pruža pisanu referencu za njihovo ponašanje.

Zaseban ispravak odnosi se na preklapanje konstanti, optimizaciju koja izračunava prikladne izraze tijekom kompilacije umjesto da ih prepušta izvođenju. Pogođeni prolazi kompilatora ranije su mogli pojednostaviti određene izraze na način koji je pogrešno odbacivao izračune koji ne uspiju. Ispravak čuva te izračune kada nisu ispunjeni potrebni uvjeti za pojednostavljenje.

Ažuriranje također ispravlja kompilaciju kontekstnih tipova Plutus V4, koji opisuju informacije dostupne skriptama pri validaciji transakcija. Osim toga, memorijski modeli za lookupCoin i valueContains usklađeni su s postojećim parametrima modela troška.

[NEWSBREAK]

Formalne provjere se šire kako implementacija napreduje

Tim je predstavio alat koji generira testove provjere tipova u Agdi iz postojećeg skupa usklađenosti. Agda je programski jezik i asistent za dokazivanje koji se koristi za izražavanje formalnih modela i provjeru njihove konzistentnosti. Alat omogućuje da slučajevi testova koji se već koriste za implementaciju podupru provjere u tom formalnom okruženju.

Nove ugrađene funkcije također su dodane u metateoriju, matematički opis koji se koristi za rasuđivanje o Plutus programima. Trenutno se pojavljuju kao postulati, što znači da model pretpostavlja njihovo specificirano ponašanje dok se daljnji rad na implementaciji nastavlja. Druga spojena promjena proširuje alat koji provjerava zadržava li optimizacija kompilatora ponašanje programa.

Preostali rad uključuje implementaciju nizova i nizova bajtova u formalnom modelu, ispravljanje certificiranja zasebne optimizacije kompilatora i poboljšanje CEK stroja koji izvršava Plutus Core programe. Ove stavke i dalje su navedene kao rad u tijeku u izvješću od 4. studenoga.