La Cardano Foundation (@Cardano_CF) a open-sourcé Même, une bibliothèque native partagée conçue pour rendre le développement sur Cardano considérablement plus accessible. La publication apporte des fonctionnalités hors ligne de la Cardano Client Lib directement dans Python, Go, Rust et JavaScript, sans nécessiter de machine virtuelle Java.
Ce que fait Même et son fonctionnement
Même est construit au-dessus de la bibliothèque cliente Cardano de BloxBean (CCL), un kit de développement Java bien établi pour Cardano. Le problème que la CCL posait était clair : les développeurs qui n’exécutaient pas Java étaient en pratique exclus de ses fonctionnalités plus avancées. Même résout cela en compilant, via GraalVM Native Image, les fonctionnalités hors ligne sélectionnées de la CCL, qui génère des objets partagés natifs pour la plateforme. Cela convertit du code dépendant de Java en un code que n’importe quel langage pris en charge peut appeler nativement via l’interface d’appels de fonction étrangères (FFI).
CCL est un SDK Cardano mature, riche en fonctionnalités, couvrant la dérivation de clés, la construction de transactions, la gestion des données Plutus et la gouvernance. Même rend certains modules CCL disponibles comme une bibliothèque partagée native avec une ABI C, afin que des langages comme Python, Go, Rust et JavaScript puissent l’utiliser directement, que ce soit comme base pour une bibliothèque de wrapper, pour un générateur de transactions, ou pour des fonctions individuelles telles que la crypto, l’analyse d’adresses et la sérialisation CBOR.
La bibliothèque couvre un large éventail d’opérations Cardano : des fonctionnalités de gouvernance de l’ère Conway telles que l’enregistrement des DRep, le vote et les transactions de trésorerie, le staking, les paiements, la génération de clés à partir de phrases seed, la validation d’adresses, la cryptographie Blake2b et Ed25519, ainsi que l’estimation hors ligne des coûts Plutus. Les transactions sont modélisées de manière déclarative et construites hors ligne, le langage de programmation hôte se chargeant de leur soumission.
Conçu pour s’intégrer aux flux de travail existants
L’un des principes de conception clés de Mesmo est de minimiser les perturbations des flux de travail des développeurs existants. Cardano dispose déjà de bibliothèques natives solides, dont pycardano, MeshJS, Lucid Evolution, pallas, gOuroboros et Apollo. Mesmo n’a pas vocation à les remplacer ; il comble plutôt les lacunes lorsqu’une bibliothèque native manque une capacité ou lorsque son API ne correspond pas à la manière dont une équipe travaille. Il offre alors, via les sémantiques éprouvées de CCL, une expérience identique dans quatre langages, sans obliger les développeurs à quitter leur pile actuelle.
Le moteur à l’intérieur de Mesmo est éprouvé : Cardano Client Lib a alimenté des systèmes Cardano de production, notamment des intégrations d’échanges, des plateformes de gouvernance et des indexeurs, pendant des années. Les bindings compilent et exportent cette même bibliothèque, avec le même code, les mêmes tests et les mêmes mainteneurs.
Même est actuellement en phase de pré-version initiale, avec le wrapper Python en version 0.1.0rc8. À ce stade, les API peuvent évoluer, et les développeurs qui construisent sur Mesmo aujourd’hui doivent s’attendre à un certain refactoring pendant la stabilisation de la bibliothèque. La Cardano Foundation semble publier tôt afin de recueillir des retours de développeurs plutôt que d’attendre une sortie 1.0 aboutie. Les utilisateurs Python peuvent l’installer via pip install --pre mesmo.
Sources :
BloxBean/Mesmo sur GitHub
Documentation officielle Mesmo
Crypto Briefing : Cardano lance Même
