Mesmo za Cardano donosi razvoj uz pomoć AI za Python, Go, Rust i JavaScript
Tijekom Cardano Developers Office Hours softverski arhitekt Mateusz Czeladka detaljno je objasnio kako Mesmo podržava razvoj transakcija uz pomoć AI, izvanmrežnu Plutus evaluaciju i izvršavanje između jezika. U izlaganju su također razmotrena tehnička ograničenja biblioteke i moguća poboljšanja.
By SongMarketCap
Cardano Foundation Senior Software Architect Mateusz Czeladka dao je tehnički prikaz Mesmo tijekom 84. izdanja Developers Office Hours koje je vodio Fabian Bormann. Izlaganje je istražilo kako biblioteka otvorenog koda čini funkcionalnosti razvoja za Cardano dostupnima u više programskih jezika, s posebnim naglaskom na obradu transakcija, razvoj uz pomoć AI i integraciju s blockchain infrastrukturom.
Rasprava je išla dalje od postojeće podrške za jezike u okviru Mesmo te je ispitala kako njegova arhitektura radi, što programeri mogu izgraditi s njim i koja tehnička ograničenja ostaju u prikazanoj verziji.
Mesmo koristi zajednički mehanizam izvršavanja za Cardano transakcije
Mesmo je izgrađen oko Cardano Client Lib, Java biblioteke za razvoj softvera čija je funkcionalnost kompilirana u izvorno dijeljenu biblioteku pomoću GraalVM Native Image. Omoti specifični za jezik omogućuju aplikacijama napisanima u Python, Go, Rust i JavaScript pristup tom kompiliranom kodu kroz standardni C Application Binary Interface (ABI).
Ova arhitektura omogućuje programerima korištenje podržanih Cardano operacija bez pokretanja Java Virtual Machine. Također pruža pristup funkcionalnostima koje možda nedostaju u primarnom razvojnom paketu aplikacije.
Czeladka je objasnio da je pristup djelomično proizašao iz razlika u rasporedima održavanja među Cardano bibliotekama. Tijekom rasprave sudionici su se prisjetili ranijeg razdoblja kada je biblioteka Apollo temeljena na Go imala manjak podrške za transakcije Plutus V3, što je zahtijevalo arhitektonske prilagodbe u aplikacijama koje su o njoj ovisile.
Umjesto zamjene ustaljenih alata kao što su MeshJS, PyCardano, Pallas ili Apollo, Mesmo daje pristup odabranim funkcijama iz zajedničke implementacije.
Njegove mogućnosti uključuju upravljanje novčanikom i adresama, potpisivanje transakcija, staking operacije, native skripte i Cardano governance transakcije. Governance funkcionalnost proteže se i na specijalizirane operacije koje uključuju glasovanje Constitutional Committee i druge radnje izvan standardne DRep delegacije.
Središnja komponenta je TX Plan koji opisuje transakcije kroz strukturirane YAML podatke. Umjesto konstruiranja svake operacije kroz niz metoda specifičnih za jezik, programeri daju definiciju transakcije koju Mesmo interpretira i obrađuje.
Ovaj model omogućuje aplikacijama napisanim u različitim jezicima pristup istoj podloženoj transakcijskoj logici uz zadržavanje kontrole nad pripadajućom infrastrukturom.
AI kodni agenti mogu raditi sa strukturiranim Cardano transakcijama
Jedno od područja obrađenih tijekom izlaganja bila je kompatibilnost Mesmo s razvojem softvera uz pomoć AI.
Projekt nudi AI starter paket koji sadrži informacije o njegovim programskim sučeljima. Programeri mogu te materijale dostaviti AI alatima za kodiranje kako bi im pomogli razumjeti dostupne funkcije, očekivane ulaze i podržane transakcijske operacije.
TX Plan nudi strukturirano sučelje za taj tijek rada. AI kodni agent može generirati YAML definiciju transakcije koju aplikacija može proslijediti Mesmo za konstruiranje transakcije.
Razlika između generiranja transakcije i njezina izvršavanja na blockchainu ostaje važna.
Mesmo se ne povezuje samostalno na Cardano čvorove, ne dohvaća on chain informacije i ne emitira transakcije. Te odgovornosti pripadaju aplikaciji koja integrira biblioteku.
Na primjer, aplikacija može dobiti raspoložive UTXO unose i parametre protokola od podržanog pružatelja podataka o blockchainu, proslijediti te ulaze Mesmo i primiti serijalizirane podatke o transakciji. Nakon potpisivanja aplikacija podnosi transakciju preko odabrane mrežne usluge.
Czeladka je opisao temeljno izvršavanje kao determinističko i bez stanja, što znači da isti dani ulazi proizvode iste rezultate bez da biblioteka samostalno mijenja vanjsko stanje blockchaina.
Izlaganje je također obradilo izvanmrežnu evaluaciju Plutusa. Mesmo uključuje ugrađeni Scalus evaluator koji može izračunati memorijske i CPU jedinice izvršavanja potrebne za podržane transakcije pametnih ugovora. Programeri mogu integrirati alternativne evaluatore putem dostupnog sučelja.
Ovakav raspored omogućuje da se konstruiranje transakcija i evaluacija skripti odvijaju lokalno, bez potrebe za zasebnim mrežnim zahtjevom za samu evaluaciju.
Rukovanje računima slijedi sličnu podjelu odgovornosti. Objekt računa može zadržati potreban ključni materijal za generiranje adresa i potpisivanje transakcija, čime se izbjegava ponavljano slanje mnemoničkih fraza između funkcija aplikacije.
Međutim, upotreba izvornih biblioteka uvodi razmatranja vezana uz upravljanje memorijom. Sudionici su raspravljali o tome kako bi se resursi trebali oslobađati preko granice između izvornog programskog jezika i native koda, osobito kada je uključen osjetljiv kriptografski materijal.
[NEWSBREAK]
Ograničenja prije izdanja i moguća podrška za WebAssembly
Izlaganje je identificiralo nekoliko praktičnih ograničenja u implementaciji Mesmo.
Podrška za JavaScript u demonstriranoj verziji oslanja se na Bun runtime. Node.js nije podržan zbog poteškoća vezanih uz njegov Foreign Function Interface.
Drugo ograničenje je veličina kompilirane biblioteke od približno 60 MB. Czeladka je to opisao kao mogući kompromis za aplikacije na strani poslužitelja i znatniju prepreku za okruženja sa strogim zahtjevima za veličinu paketa.
Izvorna distribucija također zahtijeva kompatibilne buildove za različite operativne sustave i procesorske arhitekture. Podrška tim kombinacijama dodaje posao održavanja kako se projekt širi.
Czeladka je raspravljao o WebAssembly kao mogućoj budućoj alternativi. Razvijajuće WebAssembly mogućnosti u GraalVM mogle bi s vremenom pružiti prenosiviju metu izvršavanja, čime bi se smanjila potreba za distribucijom zasebnih native binarnih datoteka na više platformi. U izlaganju nije određen datum izdanja niti potvrđena produkcijska dostupnost takvog pristupa.
Druge razvojne mogućnosti uključuju dodatne integracije s pružateljima podataka o blockchainu, graditelje transakcija specifične za jezik, poboljšano rukovanje pogreškama i širu podršku za potpisivanje i metapodatke povezane s ugovorima.
Prikazana implementacija koristi TX Plan kao primarno sučelje za konstruiranje transakcija. Konvencionalnije programske metode mogle bi se razviti povrh zajedničkog mehanizma ako potražnja zajednice podupre taj rad.
Mesmo također uključuje zapise o arhitektonskim odlukama i open source dokumentaciju namijenjenu tome da pomogne suradnicima razumjeti i proširiti implementaciju.
Tim traži povratne informacije od programera koji testiraju dostupne jezične omote i transakcijske funkcije. Doprinosi mogu uključivati nove pružatelje podataka o blockchainu, poboljšanja upravljanja resursima i podršku za nedostajuće operacije.
U implementaciji demonstriranoj tijekom Developers Office Hours, Mesmo pruža konstruiranje transakcija, potpisivanje i lokalnu Plutus evaluaciju putem svoje zajedničke native biblioteke, dok aplikacije ostaju odgovorne za pristup mreži i predaju dovršenih transakcija.