Cardanos Mesmo bringt KI gestützte Entwicklung zu Python, Go, Rust und JavaScript

Während der Cardano Developers Office Hours erläuterte Softwarearchitekt Mateusz Czeladka, wie Mesmo KI gestützte Transaktionsentwicklung, Offline Plutus Auswertung und sprachenübergreifende Ausführung unterstützt. Die Präsentation beleuchtete zudem die technischen Einschränkungen der Bibliothek und mögliche Verbesserungen.

By SongMarketCap

Cardano News - Cardanos Mesmo bringt KI gestützte Entwicklung zu Python, Go, Rust und JavaScript

Cardano Foundation Senior Software Architect Mateusz Czeladka stellte während der 84. Developers Office Hours Sitzung, moderiert von Fabian Bormann, einen technischen Rundgang durch Mesmo vor. Die Präsentation zeigte, wie die Open Source Bibliothek Cardano Entwicklungsfunktionen über mehrere Programmiersprachen hinweg zugänglich macht, mit besonderem Fokus auf Transaktionsverarbeitung, KI gestützte Entwicklung und Integration in Blockchain Infrastrukturen.

Die Diskussion ging über die bestehende Sprachunterstützung von Mesmo hinaus und beleuchtete, wie seine Architektur funktioniert, was Entwickler damit bauen können und welche technischen Einschränkungen in der vorgestellten Version noch bestehen.

Mesmo nutzt eine gemeinsame Ausführungsengine für Cardano Transaktionen

Mesmo basiert auf Cardano Client Lib, einer Java Softwareentwicklungsbibliothek, deren Funktionalität mit GraalVM Native Image in eine native Shared Library kompiliert wird. Sprachspezifische Wrapper erlauben Anwendungen in Python, Go, Rust und JavaScript, über eine standardisierte C Application Binary Interface (ABI) auf diesen kompilierten Code zuzugreifen.

Diese Architektur ermöglicht es Entwicklern, unterstützte Cardano Operationen zu nutzen, ohne eine Java Virtual Machine auszuführen. Sie bietet zudem Zugriff auf Funktionen, die im primären Software Development Kit einer Anwendung fehlen könnten.

Czeladka erklärte, dass dieser Ansatz teilweise aus Unterschieden in den Wartungsplänen der Cardano Bibliotheken entstanden ist. In der Diskussion erinnerten sich die Teilnehmenden an eine frühere Phase, in der die auf Go basierende Apollo Bibliothek keine Unterstützung für Plutus V3 Transaktionen bot, was architektonische Anpassungen in abhängigen Anwendungen erforderlich machte.

Anstatt etablierte Werkzeuge wie MeshJS, PyCardano, Pallas oder Apollo zu ersetzen, bietet Mesmo Zugriff auf ausgewählte Funktionen aus einer gemeinsamen Implementierung.

Zu den Fähigkeiten gehören Wallet und Adressverwaltung, Transaktionssignierung, Staking Operationen, native Skripte und Cardano Governance Transaktionen. Die Governance Funktionalität erstreckt sich auf spezialisierte Vorgänge rund um Abstimmungen des Constitutional Committee und weitere Aktionen jenseits der standardmäßigen DRep Delegation.

Eine zentrale Komponente ist TX Plan, das Transaktionen über strukturierte YAML Daten beschreibt. Anstatt jede Operation über eine Abfolge sprachspezifischer Methoden zu konstruieren, liefern Entwickler eine Transaktionsdefinition, die Mesmo interpretiert und verarbeitet.

Dieses Modell ermöglicht es Anwendungen in verschiedenen Sprachen, auf dieselbe zugrunde liegende Transaktionslogik zuzugreifen und zugleich die Kontrolle über ihre umgebende Infrastruktur zu behalten.

KI Programmieragenten können mit strukturierten Cardano Transaktionen arbeiten

Ein Schwerpunkt der Präsentation war die Kompatibilität von Mesmo mit KI gestützter Softwareentwicklung.

Das Projekt stellt ein KI Starterpaket mit Informationen zu seinen Programmierschnittstellen bereit. Entwickler können diese Materialien KI Coding Tools zur Verfügung stellen, damit diese verfügbare Funktionen, erwartete Eingaben und unterstützte Transaktionsoperationen verstehen.

TX Plan bietet für diesen Ablauf eine strukturierte Schnittstelle. Ein KI Programmieragent kann eine YAML Transaktionsdefinition erzeugen, die eine Anwendung an Mesmo zur Transaktionserstellung übergibt.

Die Unterscheidung zwischen der Erzeugung einer Transaktion und ihrer Ausführung auf der Blockchain bleibt wichtig.

Mesmo verbindet sich nicht eigenständig mit Cardano Nodes, ruft keine Onchain Informationen ab und sendet keine Transaktionen. Diese Aufgaben liegen bei der Anwendung, die die Bibliothek integriert.

Eine Anwendung kann zum Beispiel verfügbare UTXOs und Protokollparameter von einem unterstützten Blockchain Datenanbieter beziehen, diese Eingaben an Mesmo übergeben und serialisierte Transaktionsdaten erhalten. Nach der Signierung übermittelt die Anwendung die Transaktion über den gewählten Netzwerkdienst.

Czeladka beschrieb die zugrunde liegende Ausführung als deterministisch und zustandslos. Das bedeutet, dass dieselben bereitgestellten Eingaben zu denselben Ergebnissen führen, ohne dass die Bibliothek den externen Blockchain Zustand eigenständig verändert.

Die Präsentation beleuchtete außerdem die Offline Plutus Bewertung. Mesmo enthält einen eingebetteten Scalus Evaluator, der die für unterstützte Smart Contract Transaktionen benötigten Speicher und CPU Ausführungseinheiten berechnen kann. Entwickler können über die vorhandene Schnittstelle alternative Evaluatoren integrieren.

Diese Anordnung ermöglicht es, Transaktionserstellung und Skriptbewertung lokal durchzuführen, ohne eine separate Netzwerkanfrage für die Bewertung selbst zu benötigen.

Die Kontoverwaltung folgt einer ähnlichen Aufgabentrennung. Ein Kontoobjekt kann das notwendige Schlüsselmaterial für Adresserzeugung und Transaktionssignierung vorhalten, wodurch die wiederholte Übermittlung von mnemonischen Phrasen zwischen Anwendungsfunktionen vermieden wird.

Die Nutzung nativer Bibliotheken bringt jedoch Überlegungen zum Speichermanagement mit sich. Teilnehmende diskutierten, wie Ressourcen an der Grenze zwischen der Host Programmiersprache und nativen Komponenten freigegeben werden sollten, insbesondere wenn sensibles kryptografisches Material betroffen ist.

[NEWSBREAK]

Einschränkungen vor der Veröffentlichung und potenzielle WebAssembly Unterstützung

Die Präsentation benannte mehrere praktische Einschränkungen in der Implementierung von Mesmo.

Die JavaScript Unterstützung in der gezeigten Version basiert auf der Bun Laufzeitumgebung. Node.js wird aufgrund von Schwierigkeiten mit dessen Foreign Function Interface nicht unterstützt.

Eine weitere Einschränkung ist die Größe der kompilierten Bibliothek von etwa 60 MB. Czeladka bezeichnete dies als mögliche Abwägung für serverseitige Anwendungen und als größeres Hindernis für Umgebungen mit strengen Anforderungen an die Paketgröße.

Die native Verteilung erfordert zudem kompatible Builds für verschiedene Betriebssysteme und Prozessorarchitekturen. Die Unterstützung dieser Kombinationen erhöht den Wartungsaufwand, wenn das Projekt wächst.

Czeladka sprach über WebAssembly als mögliche zukünftige Alternative. Die sich entwickelnden WebAssembly Fähigkeiten von GraalVM könnten letztlich ein portableres Ausführungsziel bieten und die Notwendigkeit verringern, separate native Binärdateien über mehrere Plattformen zu verteilen. Die Präsentation nannte kein Veröffentlichungsdatum und bestätigte keine Einsatzreife für diesen Ansatz.

Weitere Entwicklungsmöglichkeiten umfassen zusätzliche Integrationen mit Blockchain Datenanbietern, sprachspezifische Transaktionsbuilder, verbessertes Fehlermanagement und breitere Unterstützung für Signierung sowie vertragsbezogene Metadaten.

Die vorgestellte Implementierung nutzt TX Plan als primäre Schnittstelle zur Transaktionserstellung. Konventionellere Programmiermethoden könnten auf der gemeinsamen Engine aufgebaut werden, wenn die Nachfrage aus der Community diese Arbeit trägt.

Mesmo enthält außerdem Architecture Decision Records und Open Source Dokumentation, die Mitwirkenden helfen soll, die Implementierung zu verstehen und zu erweitern.

Das Team sucht Feedback von Entwicklern, die die verfügbaren Sprachwrapper und Transaktionsfunktionen testen. Beiträge können neue Blockchain Datenanbieter, Verbesserungen im Ressourcenmanagement und Unterstützung für fehlende Operationen umfassen.

In der während der Developers Office Hours gezeigten Implementierung stellt Mesmo Transaktionserstellung, Signierung und lokale Plutus Bewertung über seine gemeinsame native Bibliothek bereit, während Anwendungen weiterhin für den Netzzugang und das Einreichen abgeschlossener Transaktionen verantwortlich bleiben.

Auf YouTube ansehen