Les expériences de nœud Cardano dans le navigateur progressent en TypeScript et en Haskell
Gerolamo a produit un deuxième bloc sur Cardano Preview, tandis qu’un prototype Haskell distinct a suivi la chaîne et soumis une transaction depuis un navigateur web. Les deux expériences rapprochent différentes parties de l’infrastructure des nœuds Cardano de l’appareil de l’utilisateur.
By SongMarketCap
Les développeurs Cardano ont annoncé de nouveaux résultats issus de deux expériences de nœud indépendantes. Harmonic Labs a étendu les tests de Gerolamo au delà d’un bloc vide, tandis que Seungheon Oh a démontré l’exécution dans un navigateur de la pile de nœud Haskell via WebAssembly. Les deux restent expérimentales et aucune n’établit un producteur de blocs de production fonctionnant entièrement dans un navigateur.
Gerolamo produit un deuxième bloc sur Cardano Preview
Gerolamo est une implémentation alternative d’un nœud Cardano écrite en TypeScript et s’exécutant via l’environnement d’exécution Bun. Harmonic Labs développe le projet sous la direction de son fondateur Michele Nuzzi, dont le code source est public.
Le premier bloc attribué à Gerolamo a été accepté sur Cardano Preview le 12 septembre. Il était vide et a servi de premier test pour vérifier si l’implémentation alternative pouvait produire un bloc accepté selon les règles du protocole de Cardano.
Un deuxième bloc a suivi le 14 septembre et contenait trois transactions. Selon les informations publiées par l’équipe, elles comprenaient l’exécution d’un contrat intelligent et un message sur la chaîne. Le test est donc passé d’un bloc vide à un bloc portant une activité transactionnelle.
Gerolamo a également synchronisé la chaîne Preview depuis la genèse jusqu’à la pointe actuelle tout en validant les données de chaîne. Son implémentation serveur prend en charge les protocoles nœud à nœud de Cardano, une communication cliente locale optionnelle, le bootstrap Mithril et un sous ensemble de fonctions d’API de style Blockfrost.
La documentation disponible ne décrit pas un leadership Praos complet comme une partie achevée du projet. Harmonic Labs n’a pas publié de compte rendu technique complet du chemin de forge utilisé pour les deux blocs Preview. Le réseau a accepté les blocs et l’équipe les a attribués à Gerolamo, mais les éléments publics n’établissent pas que le producteur de blocs a fonctionné dans un navigateur web.
Cardano gagne deux approches différentes de nœud dans le navigateur
En parallèle de Gerolamo, Harmonic Labs développe Gerolamino, une implémentation plus légère destinée aux navigateurs web et à une extension Chrome. Gerolamino n’est pas la même instance logicielle que celle qui a produit les blocs Preview.
La démonstration publique permet à un navigateur de communiquer avec un relais Cardano via les mini protocoles Ouroboros Handshake, ChainSync et BlockFetch. Elle peut suivre des en têtes et des blocs, traiter des données CBOR et utiliser IndexedDB et WebWorkers pour le stockage et le calcul locaux.
Un pont WebSocket vers TCP connecte actuellement le navigateur à un relais Preprod externe parce que les applications web ne peuvent pas ouvrir des connexions TCP standard directement vers le réseau Cardano.
Le développement prévu inclut la prise en charge de Mithril pour une synchronisation initiale plus rapide, l’indexation locale des UTxO et une interface de communication ressemblant aux standards de portefeuille Cardano existants. Ce modèle pourrait permettre aux applications web de vérifier davantage d’informations sur l’appareil de l’utilisateur au lieu de demander chaque réponse à une API distante.
Séparément de Harmonic Labs, le développeur Seungheon Oh a démontré un nœud Cardano en Haskell fonctionnant dans un navigateur via le backend WebAssembly de GHC. La démonstration a inclus le suivi de la pointe de chaîne, l’affichage d’un solde en ADA et la soumission d’une transaction depuis le navigateur.
Le Cardano Hard Fork Working Group a enregistré la démonstration le 15 septembre comme un développement lié à la diversité des nœuds. Oh n’a pas publié le code source et la démonstration n’incluait pas de production de blocs. Le prototype ne peut donc pas encore être examiné de manière indépendante ni comparé en détail avec le logiciel Haskell de production cardano-node.
La vérification locale pourrait transformer l’infrastructure des dApp Cardano
Les portefeuilles Cardano et les applications décentralisées utilisent fréquemment des services distants pour accéder aux données de la blockchain, localiser des UTxO, vérifier des soldes et soumettre des transactions. Cette infrastructure simplifie le développement mais crée des dépendances vis à vis des fournisseurs d’API, des indexeurs et de leur disponibilité continue.
Des fonctionnalités de nœud dans le navigateur pourraient déplacer une partie de ce processus sur l’appareil de l’utilisateur. Une application pourrait suivre localement la chaîne Cardano, traiter des blocs et vérifier les informations qu’elle utilise avant de préparer ou de soumettre une transaction. Un accès local pourrait aussi réduire le nombre d’adresses et de requêtes de données envoyées à des services d’API centralisés.
Pour les développeurs, cette architecture pourrait prendre en charge des applications Cardano qui restent fonctionnelles lorsqu’un indexeur ou un fournisseur backend individuel devient indisponible. De multiples voies d’accès développées de manière indépendante peuvent renforcer la résilience des applications lorsqu’elles valident les données selon les mêmes règles de protocole Cardano.
L’approche peut aussi permettre aux portefeuilles et aux applications décentralisées de vérifier des UTxO et des soldes en ADA au plus près de l’utilisateur au lieu de traiter un service distant comme l’unique source de l’état de la blockchain. Gerolamo ajoute une implémentation TypeScript développée de manière indépendante, tandis que le travail d’Oh explore comment la pile Haskell établie peut fonctionner via WebAssembly.
Les prototypes actuels ne suppriment pas le besoin d’une infrastructure externe. Gerolamino utilise toujours un pont WebSocket et un relais externe, tandis qu’une synchronisation locale plus large doit tenir compte des limites de stockage, de mémoire, de bande passante et d’indexation du navigateur. Les instantanés Mithril, les pairs du réseau et les routes de soumission de transactions restent aussi des éléments de l’architecture.
Les progrès démontrés publiquement couvrent désormais un nœud TypeScript qui a produit des blocs Preview, un nœud léger dans le navigateur utilisant les mini protocoles Ouroboros et un prototype Haskell distinct capable de suivre la chaîne et de soumettre des transactions. Un relais de production ou un producteur de blocs fonctionnant entièrement dans un navigateur n’a pas été documenté. Le changement immédiat est plus restreint: les applications Cardano peuvent commencer à déplacer une partie de la vérification de la blockchain des services distants vers l’appareil de l’utilisateur.