Aiken est un langage de programmation nouveau et accessible, spécialement créé pour simplifier et améliorer le développement de contrats intelligents sur Cardano. Il est livré dans une syntaxe facile à apprendre, conçue pour une intégration sans effort avec d’autres outils et langages, et comprend diverses fonctionnalités de pointe qui répondent aux attentes actuelles des développeurs.
Dans la pure mode open source, Aiken est né des efforts dévoués de diverses personnes. Après le coup d’envoi initial avec le soutien de TxPipe, de nouveaux développeurs ont montré un intérêt pour le projet, décidant d’ajouter leur temps et leur attention à l’aider. La Fondation Cardano voit également le potentiel d’Aiken, comment il peut favoriser la croissance de l’écosystème Cardano en fournissant un développement de contrat intelligent avec une expérience de développeur optimisée. Nous invitons tout le monde à en savoir plus sur Aiken et souhaitons la bienvenue à toute personne intéressée à participer à cette phase alpha récemment publiée.
Percevoir les lacunes
Il est bien connu que la plate-forme Haskell Plutus - jusqu’à présent le seul langage de contrat intelligent entièrement développé sur Cardano - devient souvent difficile, voire frustrante à utiliser. En fait, la configuration d’un environnement Haskell fonctionnel peut s’avérer difficile, en particulier lorsqu’il s’agit de plugins de compilateur ad hoc tels que PlutusTx - le plugin Glasgow Haskell Compiler (GHC) pour compiler le code source Haskell pour la chaîne Cardano. Les accessoires tels que les serveurs de langage - des outils qui améliorent l’expérience de programmation en s’intégrant aux éditeurs de code - ne fonctionnent généralement pas avec les paramètres d’installation par défaut et sont lourds à configurer. De plus, étant donné que la plate-forme Plutus est liée au langage existant de Haskell, mais ajoute ensuite différentes bibliothèques intégrées, écosystèmes et sémantiques de programme qui diffèrent de Haskell standard, cela conduit souvent à des situations confuses, même pour un Haskeller chevronné. Enfin, la plateforme Plutus décourage l’utilisation d’autres langages pour le code off-chain, empêchant ainsi les équipes de travailler avec leurs outils et langages habituels pour ce qui représente, au final, une grande partie de leur application décentralisée. Bien qu’il soit possible d’adopter un langage différent pour toutes les infrastructures hors chaîne, l’interface avec le code en chaîne peut être maladroite et difficile à dépanner. Pourtant, même avec ces barrages routiers, de nombreux projets choisissent d’adopter différents langages pour leur code hors chaîne.
Ceci, cependant, ne doit pas être le seul moyen. Des langages comme Rust et Elm ont poussé l’expérience d’écriture de code vers de nouveaux sommets. Par exemple, Elm rend impossible les erreurs d’exécution en gardant les frontières entre un programme et le monde extérieur derrière une séparation claire et sûre, limitant la façon dont le code en cours d’écriture interagit avec le code extérieur, les systèmes ou les interfaces de programmation d’application (API). En plus de cela, cela rend la programmation un plaisir et réduit considérablement la barrière d’entrée de la langue afin que n’importe qui puisse devenir productif immédiatement - même sur de grandes bases de code.
Rust, quant à lui, renoue avec la gestion manuelle de la mémoire et la mutabilité, mais avec une approche innovante qui évite les erreurs simples, mais potentiellement catastrophiques. Il continue également à repousser continuellement les limites de ce que les outils peuvent faire pour les développeurs et comment les développeurs peuvent intégrer plus d’intelligence dans les pratiques de développement quotidiennes.
Ces langages et plates-formes offrent une expérience de développement plus transparente pour les développeurs, ce qui facilite l’écriture de code robuste et de haute qualité. Par conséquent, les écosystèmes qui ne répondent pas à ces normes peuvent avoir du mal à attirer et à retenir des développeurs pragmatiques. Aiken est né précisément pour combler cette lacune.
L’architecture et la machine virtuelle de contrat intelligent de Cardano permettent de créer des outils tiers et de nouveaux langages en plus. En fait, le registre Cardano n’exécute pas Haskell en chaîne. Chaque nœud est livré avec un interpréteur Plutus qui est responsable de l’exécution des validateurs de script en chaîne. Cet interpréteur exécute un langage de bas niveau appelé Untyped Plutus Core (UPLC). C’est le langage vers lequel compile la plate-forme Haskell Plutus. Et maintenant, Aiken aussi.
Présentation d’Aiken et de son fonctionnement
Aiken présente un nouveau langage de programmation facile à apprendre, conçu pour amener l’expérience de développement de contrats intelligents Cardano au niveau attendu par les développeurs en 2023. Puisqu’il est spécialement conçu pour Cardano, il comprend une variété de commodités spécifiques au domaine pour rendre le processus de développement plus facile et plus efficace. Entre autres, ceux-ci incluent:
- Commentaires utiles et rapides du compilateur
- Formatage automatique du code
- Un serveur de langage avec des intégrations d’éditeur
- Un cadre de test et d’analyse comparative
- Documentation générée à partir des commentaires de code
- Un format de spécification binaire interopérable et portable (CIP-0057)
Aiken vise à réduire le temps nécessaire aux développeurs pour démarrer et terminer leurs projets. L’équipe souhaitait transformer ce qui est actuellement une expérience de configuration de plusieurs jours en un démarrage rapide de 10 minutes sans compromettre aucun des aspects de sécurité et de qualité. Pour cette raison, Aiken présente une syntaxe familière de la famille C tout en restant un langage purement fonctionnel. À bien des égards, il est syntaxiquement similaire à Rust et TypeScript.
Pour expliquer brièvement le processus, un compilateur est un programme qui convertit le code écrit dans un langage de programmation en code pouvant être exécuté par un ordinateur, comme un processeur et des instructions machine de bas niveau. Dans le cas d’Aiken, le compilateur prend du code écrit en Aiken, effectue diverses vérifications dessus, puis génère des programmes Plutus Core non typés qui peuvent être utilisés sur la blockchain Cardano. Techniquement parlant, Untyped Plutus Core est un calcul lambda polymorphe avec des fonctions intégrées spécifiques à la chaîne Cardano et utilisées, par exemple, pour vérifier les signatures. Ces traductions d’un langage de programmation dans un autre ne sont généralement pas écrites à la main. Au lieu de cela, les machines devraient les écrire et les interpréter. Les compilateurs permettent aux développeurs d’utiliser des langages plus expressifs qui sont plus faciles à apprendre et à raisonner, tout en produisant des instructions machine comprises par le moteur d’exécution sous-jacent. Ils peuvent être appliqués lorsqu’il s’agit d’une machine de bureau ou d’un navigateur Internet, ou, dans notre cas, avec la blockchain Cardano.
L’écriture de notre propre compilateur signifie que nous pouvons rechercher des cas spécifiques à l’écriture de contrats intelligents et fournir un meilleur retour d’information de la part du compilateur, ainsi que des conseils supplémentaires lorsqu’il s’agit de rédiger des contrats. De plus, le langage est orienté vers la lisibilité afin qu’il devienne facile à auditer et réduit le risque de se tromper.
Outre le langage de programmation, Aiken fournit également une boîte à outils pour travailler avec les contrats intelligents Cardano et, en particulier, avec le noyau Plutus non typé de bas niveau. Aiken offre un moyen accessible de décompiler le code en chaîne en une représentation de niveau supérieur. Il peut évaluer les scripts dans le contexte d’une transaction et signaler les coûts d’exécution, comme le fait le grand livre Cardano intégré à chaque nœud.
L’histoire, le présent et l’avenir d’Aiken
Le projet a commencé comme une conversation entre des ingénieurs d’horizons différents, prenant vie avec le soutien initial de TxPipe à partir d’objectifs partagés et d’une philosophie commune. Il n’a pas fallu longtemps avant que la Fondation Cardano décide de soutenir le projet et d’accélérer son développement. Aujourd’hui, le projet a dépassé ses deux initiateurs et a commencé à s’enraciner dans la communauté de Cardano au sens large.
"Lorsque l’idée de développer un nouveau langage et une nouvelle chaîne d’outils à partir de zéro a été évoquée pour la première fois, cela semblait assez décourageant, ce qui nécessiterait une équipe de 10 ingénieurs et plusieurs années de développement.
En moins d’un an, dépassant toutes les attentes, Aiken est maintenant prêt pour une version alpha. La compétence et l’expertise de l’équipe de base sont vraiment remarquables. Les résultats témoignent de la puissance du développement open source et de l’esprit de collaboration au sein de la communauté Cardano.
Avec l’immense soutien fourni par la Fondation Cardano, je suis convaincu qu’Aiken aura un impact profond sur notre écosystème, en favorisant l’innovation et en responsabilisant les développeurs."
Santiago Carmuega - TxPipe
Aiken est un excellent exemple d’open source, avec des contributeurs de la communauté Cardano collaborant sur de nombreux fronts et partageant leurs commentaires. De plus, pour construire un écosystème solide autour du langage, l’équipe Aiken s’est assurée de fournir un gestionnaire de packages qui encourage le développement de bibliothèques open source avec une documentation générée propre et facile à héberger. Nous avons hâte de voir les bibliothèques Aiken que la communauté développera et partagera.
Pour aider toute personne intéressée à démarrer avec Aiken, nous avons créé un tutoriel “hello world” comme guide de démarrage rapide pour ceux qui veulent se lancer. Avant même toute annonce, plus de 30 pionniers ont déjà terminé le didacticiel, et nous encourageons les autres à rejoindre la communauté grandissante d’Aiken en essayant eux-mêmes le didacticiel. Outre le didacticiel, l’équipe Aiken a travaillé sur de nombreux documents concernant le langage et la rédaction de contrats intelligents sur Cardano, tous hébergés sur des référentiels publics et faciles à contribuer, afin qu’ils puissent également s’améliorer et se développer au fil du temps.
Nous, à la Fondation Cardano, ainsi que toute l’équipe Aiken, sommes ravis de voir Aiken entrer dans sa phase alpha officielle. Bien que cela signifie que toutes les fonctionnalités principales ont été implémentées, certains aspérités et bugs peuvent encore nécessiter une correction. De même, même si l’alpha est déjà livré avec les fonctionnalités essentielles pour écrire, tester, documenter et comparer de manière productive les contrats en chaîne pour Cardano, il est important de faire preuve de prudence lors de l’utilisation d’Aiken en production. Nous vous déconseillons de le faire à ce stade.
L’équipe Aiken effectuera des audits approfondis d’Aiken cette année pour s’assurer qu’il répond aux normes de robustesse attendues d’une boîte à outils de niveau entreprise. Si Aiken doit être responsable de la gestion de quantités importantes d’actifs, il est crucial de fournir toutes les garanties nécessaires. La robustesse fait partie intégrante de la philosophie d’Aiken, aux côtés de la facilité d’utilisation. Une partie de ce voyage vers le réseau principal nécessite l’intégration précoce des développeurs, car seuls les véritables commentaires des utilisateurs peuvent nous donner l’espoir de façonner correctement cet outil à long terme. Nous appelons désormais les premiers pionniers d’Aiken à nous rejoindre dans cette aventure et à nous aider à faire d’Aiken l’avenir du développement de contrats intelligents Cardano.
Après des mois de travail intense, nous sommes ravis d’avoir franchi cette étape, et il devient important de remercier les nombreuses personnes qui ont permis au projet d’en arriver là. Rien d’important n’est jamais construit seul. Aiken n’aurait pas surmonté tant d’épreuves sans le soutien de plusieurs contributeurs qui ont consacré leur temps et leur attention à l’amélioration d’Aiken.
Que ce soit en faisant le tutoriel “hello world”, en fournissant des commentaires, en ouvrant des discussions ou en écrivant du code Aiken, la Fondation Cardano invite tout le monde à participer à la construction d’Aiken. Nous espérons que cela apportera un avenir radieux aux contrats intelligents sur Cardano.
Source : https://cardanofoundation.org/en/news/aiken-the-future-of-smart-contracts/