Un ingénieur de la Fondation Cardano présente la voie vers la version v1.0 du cadre de développement elm-cardano

Mathieu Pizenberg a présenté l’état actuel de elm-cardano lors de la session Cardano Developers Office Hours, abordant la construction de transactions, les outils Elm, l’intégration des développeurs et le chemin vers une version plus stable du cadre.

By SongMarketCap

Cardano News - Un ingénieur de la Fondation Cardano présente la voie vers la version v1.0 du cadre de développement elm-cardano

Cardano Developers Office Hours a accueilli une session technique centrée sur le chemin vers la version v1.0 de elm-cardano, un cadre de développement qui connecte le langage de programmation Elm avec le développement d'applications Cardano. La session était animée par Fabian Bormann, tandis que Mathieu Pizenberg, ingénieur logiciel senior de la Fondation Cardano, présentait l’état actuel du projet et les problèmes liés aux outils de développement qu’il vise à résoudre.

elm-cardano est positionné comme un cadre pour la création d’applications front-end Cardano et d’outils de transaction avec Elm, un langage de programmation fonctionnel connu pour son typage fort, ses retours rapides du compilateur et sa stabilité. La discussion a couvert le constructeur de transactions du cadre, son design basé sur l’intention, la gestion locale des UTXO, la sélection des pièces et la question plus large de savoir comment les développeurs Cardano peuvent utiliser davantage les capacités déjà disponibles dans le registre.

elm-cardano se concentre sur le front-end de Cardano et les outils de transaction

Pizenberg a expliqué que l’idée originale de cette session provenait du travail sur un constructeur de transactions interactif. L’outil proposé permettrait aux développeurs de créer visuellement différents types de transactions Cardano via une interface web, plutôt que d’écrire immédiatement une application complète ou de s'appuyer sur des workflows en ligne de commande.

Le concept du constructeur de transactions est conçu pour prendre en charge des actions telles que l’envoi de tokens, le minting de NFTs, le retrait de récompenses de staking et l’interaction avec des dApps. Il permettrait également aux développeurs de combiner plusieurs actions en une seule transaction Cardano, une des capacités pratiques du modèle eUTXO.

Selon Pizenberg, beaucoup de développeurs ont besoin d’un moyen plus rapide pour tester des schémas de transactions spécifiques. Au lieu de mettre en place une application JavaScript complète ou d’utiliser un workflow CLI pour chaque expérience, l’interface proposée donnerait aux développeurs un moyen plus direct de construire, inspecter et tester le comportement des transactions.

La présentation a également placé elm-cardano dans l’écosystème Elm plus large. Elm a été décrit comme un langage fonctionnel stable pour les applications front-end, avec un accent sur l’évitement des exceptions d'exécution, la réduction des risques liés aux dépendances et l’amélioration de la sécurité du refactoring. Pizenberg a précisé que le langage reste actif malgré son cycle de publication lent, ajoutant que sa stabilité est souvent confondue avec de l'inactivité.

La construction de transactions basée sur l’intention vise à rendre le développement Cardano plus flexible

Une grande partie de la session s’est concentrée sur la façon dont elm-cardano aborde la construction de transactions. Pizenberg a comparé le cadre aux modèles courants de constructeurs de transactions, notamment dans les bibliothèques JavaScript, où le développeur travaille souvent près de la représentation du registre d'une transaction.

elm-cardano utilise une approche basée sur l’intention. Au lieu d’exiger que les développeurs décrivent manuellement chaque composant de transaction de bas niveau, le développeur décrit ce que la transaction doit accomplir. Par exemple, l’intention peut être d'envoyer des actifs à une adresse, d’utiliser un ensemble défini de UTXO, de créer une sortie spécifique ou de combiner plusieurs actions en une seule transaction.

Le cadre traite ensuite ces intentions et passe par les exigences techniques nécessaires pour produire une transaction valide sur Cardano. Pizenberg a décrit cela comme un moyen de séparer l’objectif du développeur de la structure de bas niveau du corps final de la transaction.

La présentation a également couvert l’état local des UTXO, qui permet au constructeur de transactions de fonctionner avec un ensemble défini de sorties. Cela peut être utile pour les tests car le constructeur ne dépend pas directement des services externes tels que les fournisseurs d’API blockchain. Il peut plutôt fonctionner avec l’état fourni par le développeur.

Cette conception prend également en charge le chaînage des transactions. Une fois qu’une transaction est finalisée localement, l’état résultant peut être utilisé pour construire une autre transaction sans attendre la confirmation sur la chaîne pendant le flux de développement. Cela permet aux développeurs de tester des séquences de transactions dans des conditions contrôlées.

Pizenberg a également discuté de la sélection personnalisable des pièces. elm-cardano inclut des approches par défaut telles que la sélection des plus grandes en premier, ainsi qu’une méthode de sélection axée sur le collatéral. L'exemple de collatéral a été présenté comme un problème pratique car les développeurs ne veulent généralement pas qu’un UTXO de grande valeur soit sélectionné comme collatéral pour une transaction Plutus.

Le chemin vers v1.0 inclut des APIs plus propres, des tests et une expérience de développement Cardano élargie

Le chemin vers la version v1.0 de elm-cardano inclut un travail sur la structure centrale du cadre et les APIs orientées développeur. Pizenberg a mentionné que certaines parties du projet ont commencé il y a environ trois ans et que plusieurs décisions de conception initiales doivent désormais être retravaillées avant une version plus stable.

Un domaine discuté était le processus multi-étapes nécessaire pour construire certaines transactions Cardano. Comme les frais de transaction dépendent de la taille de la transaction, et que cette taille peut changer lors de l’ajout de UTXO, de redempteurs ou d’évaluations de scripts Plutus, le constructeur peut nécessiter plusieurs étapes avant d’atteindre une transaction finale stable.

Pizenberg a déclaré que l’implémentation actuelle exécute manuellement plusieurs étapes de construction, tandis qu’une version future devrait identifier un point fixe stable de manière plus propre. Cela permettrait au cadre d’arrêter de reconstruire une fois que l’état de la transaction ne change plus.

La session a également abordé le référencement des redempteurs et le positionnement des sorties, importants pour les interactions plus avancées avec les smart contracts Cardano. Certains scripts dépendent d’index spécifiques pour les entrées ou les sorties, et les constructeurs de transactions doivent offrir suffisamment de contrôle aux développeurs pour composer des interactions complexes à travers plusieurs protocoles.

La discussion s’est étendue à l’expérience des développeurs Cardano de manière plus générale. Pizenberg a indiqué que de nombreuses capacités Cardano sont encore sous-utilisées par les dApps et les outils. Il a également encouragé les développeurs qui construisent des protocoles à contribuer avec des correctifs et des améliorations aux bibliothèques qu’ils utilisent, plutôt que de résoudre les problèmes uniquement au sein de leurs propres applications.

Le langage Elm a également été évoqué dans le contexte du développement assisté par IA. Pizenberg a souligné que les retours du compilateur Elm et ses messages d’erreur détaillés sont utiles pour travailler avec des outils LLM, car des erreurs précises peuvent aider les modèles à identifier et corriger les problèmes plus rapidement.

elm-cardano n’est pas actuellement décrit comme un cadre de production largement utilisé dans les projets Cardano. La session l’a présenté comme un effort technique actif, une implémentation expérimentale et un point de référence pour démontrer comment les outils de transactions Cardano peuvent exposer davantage de capacités existantes du registre. La prochaine phase de elm-cardano se concentre sur des APIs plus propres, un comportement amélioré du constructeur de transactions et un cadre plus stable pour les développeurs testant des flux de transactions Cardano avancés.