Cardano Mesmo prinaša z AI podprt razvoj v Python, Go, Rust in JavaScript

Med Cardano Developers Office Hours je programski arhitekt Mateusz Czeladka podrobno predstavil, kako Mesmo podpira z AI podprt razvoj transakcij, brez povezave izvedeno ocenjevanje Plutus in izvajanje med različnimi jeziki. Predstavitev je obravnavala tudi tehnične omejitve knjižnice in možne izboljšave.

By SongMarketCap

Cardano News - Cardano Mesmo prinaša z AI podprt razvoj v Python, Go, Rust in JavaScript

Senior Software Architect pri Cardano Foundation Mateusz Czeladka je med 84. srečanjem Developers Office Hours, ki ga je gostil Fabian Bormann, pripravil tehnični pregled orodja Mesmo. Predstavitev je raziskala, kako odprtokodna knjižnica omogoča dostop do razvojnih funkcionalnosti za Cardano v več programskih jezikih, s posebnim poudarkom na obdelavi transakcij, z AI podprtem razvoju in integraciji z infrastrukturo verige blokov.

Razprava je šla onkraj obstoječe jezikovne podpore v Mesmo in preučila, kako deluje njegova arhitektura, kaj lahko razvijalci z njo zgradijo in katere tehnične omejitve ostajajo v predstavljeni različici.

Mesmo uporablja skupni izvršilni mehanizem za transakcije Cardano

Mesmo je zgrajen okoli Cardano Client Lib, Java razvojne knjižnice, katere funkcionalnost je s pomočjo GraalVM Native Image prevedena v izvorno deljeno knjižnico. Jezikovno specifični ovoji omogočajo aplikacijam, napisanim v Python, Go, Rust in JavaScript, dostop do te prevedene kode skozi standardni C Application Binary Interface (ABI).

Ta arhitektura razvijalcem omogoča uporabo podprtih operacij Cardano brez zagona Java Virtual Machine. Prav tako omogoča dostop do funkcionalnosti, ki morda manjka v primarnem kompletu za razvoj aplikacije.

Czeladka je pojasnil, da je pristop deloma nastal zaradi razlik v urnikih vzdrževanja med knjižnicami Cardano. Med razpravo so se udeleženci spomnili obdobja, ko knjižnica Apollo v Go ni podpirala transakcij Plutus V3, kar je zahtevalo arhitekturne prilagoditve v aplikacijah, ki so bile od nje odvisne.

Namesto da bi nadomestil uveljavljena orodja, kot so MeshJS, PyCardano, Pallas ali Apollo, Mesmo ponuja dostop do izbranih funkcij iz skupne implementacije.

Njegove zmožnosti vključujejo upravljanje denarnic in naslovov, podpisovanje transakcij, staking operacije, izvorne skripte in transakcije upravljanja Cardano. Funkcionalnost upravljanja sega do specializiranih opravil, ki vključujejo glasovanje Constitutional Committee in druga dejanja onkraj standardne delegacije DRep.

Osrednja komponenta je TX Plan, ki opisuje transakcije prek strukturiranih podatkov YAML. Namesto da bi vsako operacijo sestavljali po zaporedju jezikovno specifičnih metod, razvijalci zagotovijo definicijo transakcije, ki jo Mesmo interpretira in obdela.

Ta model omogoča aplikacijam, napisanim v različnih jezikih, dostop do iste osnovne logike transakcij, hkrati pa ohranja nadzor nad pripadajočo infrastrukturo.

Agenti za kodiranje z AI lahko delajo s strukturiranimi transakcijami Cardano

Eno od področij, obravnavanih v predstavitvi, je bila združljivost Mesmo z AI podprtim razvojem programske opreme.

Projekt ponuja začetni paket za AI, ki vsebuje informacije o njegovih programskih vmesnikih. Razvijalci lahko te materiale posredujejo orodjem za kodiranje z AI, da jim pomagajo razumeti razpoložljive funkcije, pričakovane vnose in podprte transakcijske operacije.

TX Plan ponuja strukturiran vmesnik za ta potek dela. Agent za kodiranje z AI lahko ustvari definicijo transakcije YAML, ki jo lahko aplikacija posreduje Mesmo za sestavo transakcije.

Razlikovanje med ustvarjanjem transakcije in njenim izvajanjem na verigi blokov ostaja pomembno.

Mesmo se samostojno ne povezuje z vozlišči Cardano, ne pridobiva podatkov na verigi in ne oddaja transakcij. Te odgovornosti pripadajo aplikaciji, ki knjižnico integrira.

Na primer, aplikacija lahko pridobi razpoložljive UTXO in parametre protokola od podprtega ponudnika podatkov verige blokov, te vnose posreduje Mesmo in prejme serializirane podatke transakcije. Po podpisu aplikacija odda transakcijo prek izbrane omrežne storitve.

Czeladka je osnovno izvajanje opisal kot deterministično in brez ohranjanja stanja, kar pomeni, da enaki vhodni podatki vedno ustvarijo enake rezultate, ne da bi knjižnica samostojno spreminjala zunanje stanje verige blokov.

Predstavitev je obravnavala tudi ocenjevanje Plutus brez povezave. Mesmo vključuje vgrajen ocenjevalnik Scalus, ki lahko izračuna pomnilniške in procesorske izvedbene enote, potrebne za podprte transakcije pametnih pogodb. Razvijalci lahko prek razpoložljivega vmesnika integrirajo alternativne ocenjevalnike.

Takšna zasnova omogoča, da sestavljanje transakcij in ocenjevanje skript potekata lokalno, brez potrebe po ločenem omrežnem zahtevku za samo oceno.

Ravnanje z računi sledi podobni razdelitvi odgovornosti. Objekt računa lahko hrani potreben ključni material za generiranje naslovov in podpisovanje transakcij ter se tako izogne ponavljajočemu prenosu mnemoničnih fraz med funkcijami aplikacije.

Vendar uporaba izvornih knjižnic prinaša premisleke glede upravljanja pomnilnika. Udeleženci so razpravljali o tem, kako je treba sproščati vire na meji med gostiteljskim programskim jezikom in izvornim kodom, zlasti kadar je v igri občutljiv kriptografski material.

[NEWSBREAK]

Omejitve pred izdajo in možna podpora za WebAssembly

Predstavitev je izpostavila več praktičnih omejitev v implementaciji Mesmo.

Podpora za JavaScript v prikazani različici temelji na izvajalnem okolju Bun. Node.js ni podprt zaradi težav, povezanih z njegovim Foreign Function Interface.

Druga omejitev je velikost prevedene knjižnice, približno 60 MB. Czeladka je to opisal kot možen kompromis za strežniške aplikacije in precej večjo oviro za okolja s strogimi zahtevami glede velikosti paketov.

Izvorna distribucija zahteva tudi združljive gradnje za različne operacijske sisteme in procesorske arhitekture. Podpora tem kombinacijam poveča obseg vzdrževanja, ko se projekt širi.

Czeladka je omenil WebAssembly kot možno prihodnjo alternativo. Razvijajoče se zmožnosti WebAssembly v GraalVM bi lahko sčasoma zagotovile bolj prenosno ciljno okolje za izvajanje, kar bi zmanjšalo potrebo po distribuciji ločenih izvornih binarnih datotek na več platformah. Predstavitev ni določila datuma izdaje niti potrdila razpoložljivosti za produkcijo pri tem pristopu.

Druge razvojne možnosti vključujejo dodatne integracije s ponudniki podatkov verige blokov, jezikovno specifične gradnike transakcij, izboljšano obravnavo napak in širšo podporo za podpisovanje ter metapodatke, povezane s pogodbami.

Predstavljena implementacija uporablja TX Plan kot svoj glavni vmesnik za sestavljanje transakcij. Nad skupnim mehanizmom bi lahko razvili bolj konvencionalne programske metode, če bi povpraševanje skupnosti podpiralo takšno delo.

Mesmo vključuje tudi zapise arhitekturnih odločitev in odprtokodno dokumentacijo, namenjeno temu, da pomaga sodelavcem razumeti in razširiti implementacijo.

Ekipa išče povratne informacije razvijalcev, ki preizkušajo razpoložljive jezikovne ovoje in transakcijske funkcije. Prispevki lahko vključujejo nove ponudnike podatkov verige blokov, izboljšave upravljanja virov in podporo za manjkajoče operacije.

V implementaciji, prikazani med Developers Office Hours, Mesmo ponuja sestavljanje transakcij, podpisovanje in lokalno ocenjevanje Plutus prek svoje skupne izvorne knjižnice, medtem ko so aplikacije še naprej odgovorne za dostop do omrežja in oddajo zaključenih transakcij.

Oglejte si na YouTube