Cardano Foundation Engineer skizziert den Weg zu v1.0 für das Entwicklerframework elm-cardano
Mathieu Pizenberg präsentierte den aktuellen Stand von elm-cardano während der Cardano Developers Office Hours und ging auf Transaktionsaufbau, Elm-Tools, Entwickler-Onboarding und den Weg des Frameworks zu einer stabileren Veröffentlichung ein.
By SongMarketCap
Die Cardano Developers Office Hours veranstalteten eine technische Sitzung, die sich auf den Weg zu v1.0 des Entwicklerframeworks elm-cardano konzentrierte, das die Elm-Programmiersprache mit der Entwicklung von Cardano-Anwendungen verbindet. Fabian Bormann moderierte die Sitzung, während Mathieu Pizenberg, Senior Software Engineer bei der Cardano Foundation, den aktuellen Status des Projekts und die Problembereiche der Entwickler-Tools präsentierte, die damit angegangen werden sollen.
elm-cardano ist als Framework für den Aufbau von Cardano-Frontend-Anwendungen und Transaktionstools mit Elm positioniert, einer funktionalen Programmiersprache, die für starke Typisierung, schnelle Compiler-Feedbacks und Stabilität bekannt ist. In der Diskussion wurden der Transaktions-Builder des Frameworks, sein intent-basiertes Design, der lokale Umgang mit UTXOs, die Auswahl von Coins und die grundlegendere Frage behandelt, wie Cardano-Entwickler mehr von den bereits im Ledger verfügbaren Funktionen nutzen können.
elm-cardano konzentriert sich auf Cardano-Front-End und Transaktionstools
Pizenberg erklärte, dass die ursprüngliche Idee für die Sitzung aus der Arbeit an einem interaktiven Transaktions-Builder entstanden sei. Das vorgeschlagene Tool soll es Entwicklern ermöglichen, verschiedene Arten von Cardano-Transaktionen über eine Weboberfläche visuell zu erstellen, anstatt sofort eine vollständige Anwendung zu schreiben oder auf Befehlszeilen-Workflows zu setzen.
Das Konzept des Transaktions-Builders ist darauf ausgelegt, Aktionen wie das Versenden von Token, das Minten von NFTs, das Abheben von Staking-Belohnungen und die Interaktion mit dApps zu unterstützen. Es würde Entwicklern auch ermöglichen, mehrere Aktionen zu einer einzigen Cardano-Transaktion zu kombinieren, eine der praktischen Fähigkeiten des eUTXO-Modells.
Laut Pizenberg benötigen viele Entwickler eine schnellere Möglichkeit, bestimmte Transaktionsmuster zu testen. Statt für jedes Experiment eine vollständige JavaScript-Anwendung einzurichten oder einen CLI-Workflow zu nutzen, bietet die vorgeschlagene Schnittstelle Entwicklern einen direkteren Weg, Transaktionsverhalten zu konstruieren, zu überprüfen und zu testen.
Die Präsentation platzierte auch elm-cardano innerhalb des breiteren Elm-Ökosystems. Elm wurde als eine stabile funktionale Sprache für Frontend-Anwendungen beschrieben, die darauf abzielt, Laufzeitfehler zu vermeiden, das Risiko von Abhängigkeiten zu reduzieren und die Sicherheit bei Refaktorisierungen zu verbessern. Pizenberg sagte, dass die Sprache trotz ihres langsamen Release-Zyklus aktiv bleibt und ihre Stabilität oft mit Inaktivität verwechselt wird.
Intent-basiertes Transaktionsbauen zielt auf flexiblere Cardano-Entwicklung ab
Ein Hauptteil der Sitzung beschäftigte sich damit, wie elm-cardano den Aufbau von Transaktionen angeht. Pizenberg verglich das Framework mit gängigen Transaktions-Builder-Mustern, insbesondere in JavaScript-Bibliotheken, bei denen Entwickler oft nahe an der Ledger-Darstellung einer Transaktion arbeiten.
elm-cardano verwendet einen intent-basierten Ansatz. Anstatt zu verlangen, dass Entwickler jede low-level Transaktionskomponente manuell beschreiben, beschreibt der Entwickler, was die Transaktion tun soll. Zum Beispiel könnte die Absicht darin bestehen, Vermögenswerte an eine Adresse zu senden, einen definierten UTXO-Satz zu verwenden, einen bestimmten Output zu erstellen oder mehrere Aktionen in einer einzigen Transaktion zu kombinieren.
Das Framework verarbeitet diese Absichten und arbeitet die technischen Anforderungen aus, die erforderlich sind, um eine gültige Cardano-Transaktion zu erstellen. Pizenberg beschrieb dies als eine Möglichkeit, das Ziel des Entwicklers von der low-level Struktur des endgültigen Transaktionskörpers zu trennen.
Die Präsentation behandelte auch den lokalen UTXO-Zustand, der es dem Transaktions-Builder ermöglicht, mit einem definierten Satz von Outputs zu arbeiten. Dies kann für Tests nützlich sein, da der Builder nicht direkt auf externe Dienste wie Blockchain-API-Anbieter angewiesen ist. Stattdessen kann er mit dem vom Entwickler gelieferten Zustand arbeiten.
Das Design unterstützt auch das Verketten von Transaktionen. Sobald eine Transaktion lokal abgeschlossen ist, kann der resultierende Zustand verwendet werden, um eine weitere Transaktion zu erstellen, ohne auf eine On-Chain-Bestätigung während des Entwicklungsablaufs zu warten. Dies ermöglicht es Entwicklern, Sequenzen von Transaktionen unter kontrollierten Bedingungen zu testen.
Pizenberg sprach auch über anpassbare Coin-Auswahl. elm-cardano enthält Standardansätze wie die Auswahl nach dem größten Wert sowie eine separate Auswahlmethode, die sich auf Sicherheiten konzentriert. Das Beispiel für Sicherheiten wurde als praktisches Problem präsentiert, da Entwickler im Allgemeinen nicht möchten, dass ein hochwertiger UTXO als Sicherheit für eine Plutus-Transaktion ausgewählt wird.
Der Weg zu v1.0 umfasst sauberere APIs, Tests und eine breitere Cardano-Entwicklererfahrung
Der Weg zu v1.0 für elm-cardano umfasst Arbeiten an der grundlegenden Struktur des Frameworks und den entwicklerorientierten APIs. Pizenberg sagte, dass einige Teile des Projekts vor etwa drei Jahren begonnen wurden und dass mehrere frühe Designentscheidungen vor einer stabileren Veröffentlichung überarbeitet werden müssen.
Ein diskutierter Bereich war der mehrstufige Prozess, der erforderlich ist, um bestimmte Cardano-Transaktionen zu erstellen. Da die Transaktionsgebühren von der Transaktionsgröße abhängen und sich die Transaktionsgröße ändern kann, wenn UTXOs, Redeemer oder Plutus-Skriptevaluierungen hinzugefügt werden, benötigt der Builder möglicherweise mehrere Runden, bevor er eine stabile endgültige Transaktion erreicht.
Pizenberg sagte, dass die aktuelle Implementierung mehrere Bauphasen manuell durchläuft, während eine zukünftige Version sollte sauberer einen stabilen Fixpunkt identifizieren. Dies würde es dem Framework ermöglichen, den Wiederaufbau zu stoppen, sobald sich der Transaktionszustand nicht mehr ändert.
Die Sitzung behandelte auch Redeemer-Indexierung und Output-Positionierung, die für fortgeschrittenere Cardano-Smart-Contract-Interaktionen wichtig sind. Einige Skripte hängen von bestimmten Input- oder Output-Indizes ab, und Transaktions-Builder müssen genügend Kontrolle bereitstellen, damit Entwickler komplexe Interaktionen über mehrere Protokolle hinweg zusammenstellen können.
Die Diskussion erweiterte sich auf die Cardano-Entwicklererfahrung im weiteren Sinne. Pizenberg sagte, dass viele Cardano-Fähigkeiten von dApps und Tools noch nicht ausreichend genutzt werden. Er ermutigte Entwickler von Protokollen, Fehlerbehebungen und Verbesserungen in die Bibliotheken zurückzuführen, die sie verwenden, anstatt Probleme nur innerhalb ihrer eigenen Anwendungen zu lösen.
Die Elm-Sprache wurde auch im Zusammenhang mit KI-gestützter Entwicklung diskutiert. Pizenberg verwies auf das Compiler-Feedback und die starken Fehlermeldungen von Elm als nützlich für die Arbeit mit LLM-Tools, da präzise Fehler den Modellen helfen können, Probleme schneller zu identifizieren und zu beheben.
elm-cardano wird derzeit nicht als ein weit verbreitetes Produktionsframework in Cardano-Projekten beschrieben. Die Sitzung stellte es als einen aktiven technischen Aufwand, eine experimentelle Implementierung und einen Bezugspunkt dafür vor, wie Cardano-Transaktions-Tools mehr von den bestehenden Fähigkeiten des Ledgers nutzen können. Die nächste Phase von elm-cardano konzentriert sich auf sauberere APIs, verbessertes Verhalten des Transaktions-Builders und ein stabileres Framework für Entwickler, die fortgeschrittene Cardano-Transaktionsabläufe testen.