Dolos apporte un nœud de données léger basé sur Rust aux développeurs Cardano

TxPipe a présenté Dolos lors des Cardano Developers Office Hours, décrivant un nœud de données Cardano léger basé sur Rust conçu pour réduire la charge de l'infrastructure et offrir aux développeurs un accès flexible aux données de la blockchain.

By SongMarketCap

Cardano News - Dolos apporte un nœud de données léger basé sur Rust aux développeurs Cardano

Les Cardano Developers Office Hours ont accueilli Santiago Carmuega, PDG et fondateur de TxPipe, pour une présentation technique sur Dolos, un nœud de données Cardano léger écrit en Rust. La session était axée sur la diversité de l'infrastructure, la modularité et un accès simplifié aux données de la blockchain Cardano pour les applications, portefeuilles et services backend.

Dolos a été présenté comme un outil complémentaire, et non un remplacement pour le nœud Cardano existant. Son but est plus restreint, fournissant une couche de requête flexible pour les équipes ayant besoin de données fiables de la chaîne sans exploiter une pile d'infrastructure complète.

Dolos vise l'expérience développeur et l'accès aux données de Cardano

TxPipe développe des outils open source pour les développeurs Cardano, et Dolos s'intègre dans ce focus plus large sur l'amélioration de l'expérience des développeurs. Carmuega a indiqué que l'un des premiers points de friction qu'il a rencontrés dans l'écosystème Cardano était la difficulté d'obtenir des données du nœud.

Dans certains écosystèmes blockchain, les développeurs peuvent interroger un endpoint et recevoir des informations sur le dernier bloc, une transaction ou l'état d'une adresse. Dans Cardano, ce processus est plus exigeant techniquement car il implique des mini-protocoles Ouroboros, des formats binaires et un modèle de réseau personnalisé.

Selon la présentation, Dolos a été créé comme une alternative et un nœud complémentaire pour un cas d'utilisation spécifique, offrant aux développeurs une manière plus riche et flexible d'interroger les données de la chaîne Cardano. Cela le rend pertinent pour les équipes construisant des applications, des portefeuilles et services de données qui n'ont pas besoin de participer à la validation ou à la production de blocs, mais nécessitent tout de même un backend stable pour lire les données de la chaîne.

Carmuega a également comparé Dolos avec DB Sync. DB Sync reste un outil courant pour un accès approfondi aux données Cardano basé sur SQL, mais il nécessite un nœud Cardano, PostgreSQL et un worker de synchronisation. Dolos cible les cas d'utilisation où les applications connaissent déjà les données spécifiques dont elles ont besoin et peuvent utiliser des API plus efficaces au lieu d'exploiter un backend SQL dynamique complet.

Un nœud Cardano basé sur Rust prenant en charge Blockfrost, Kupo et UTXRPC

Dolos expose plusieurs interfaces API pour les applications externes. L'une d'elles est une interface gRPC utilisant la spécification UTXRPC, conçue pour des cas nécessitant une communication binaire compacte et des requêtes à faible latence. Dolos inclut également une API similaire à Blockfrost, permettant aux équipes qui utilisent déjà des endpoints style Blockfrost d'orienter des applications existantes vers Dolos avec moins de changements d'intégration.

TxPipe a déclaré avoir travaillé en étroite collaboration avec l'équipe Blockfrost et avoir utilisé des tests de conformité Blockfrost pour vérifier la compatibilité des endpoints. Selon Carmuega, Dolos passe plus de 900 tests de conformité, bien qu'il ne prenne pas en charge tous les endpoints Blockfrost, certains ayant été exclus après une analyse coûts-avantages.

Dolos propose également une mini API Kupo axée sur l'ensemble des UTXO, les datums et les scripts, en utilisant des modèles de requête familiers aux utilisateurs de Kupo. En outre, il expose les mini-protocoles node-to-client de Cardano, y compris les requêtes d'état local et la synchronisation de la chaîne. Cela permet à certains outils qui attendent une interaction avec un nœud Haskell de se connecter à Dolos et d'utiliser une partie de la même interface API.

Ce design positionne Dolos comme un adaptateur d'infrastructure pour les applications Cardano. Les portefeuilles, les constructeurs de transactions, les explorateurs et les outils middleware peuvent utiliser différents modèles d'accès selon qu'ils nécessitent la compatibilité Blockfrost, les requêtes UTXO style Kupo, les performances UTXRPC ou une interface socket plus proche d'un environnement de nœud Cardano standard.

Stockage à fenêtre glissante et hypothèses de confiance pour les nœuds relais

Dolos comporte des compromis clairs. Carmuega a déclaré que Dolos n'effectue pas de validation complète du consensus ou des blocs lorsqu'il récupère les données. À la place, il se connecte via des protocoles node-to-node à un nœud relais, local ou public, sélectionné par l'opérateur comme source de données. Cela crée une hypothèse de confiance entre Dolos et le nœud relais utilisé.

Pour les développeurs d'applications, ce modèle peut s'adapter à des cas d'accès aux données où une équipe n'a pas besoin d'exploiter une pile de nœuds locaux complète. La comparaison faite durant la session est que DB Sync dépend également d'un nœud en arrière-plan pour sa source de données, tandis que Dolos peut se connecter à un nœud relais sans nécessiter un socket de nœud Haskell local.

Une fonctionnalité technique mise en avant lors de la présentation est le modèle de stockage à fenêtre glissante de Dolos. Les opérateurs peuvent conserver l'historique complet de la chaîne, mais ils peuvent également choisir une fenêtre temporelle limitée. Dans cette configuration, Dolos conserve les blocs, transactions, scripts, datums et données UTXO pertinents pour la période sélectionnée, tandis que les données plus anciennes sont supprimées du stockage local. Cela peut réduire les besoins en disque pour les applications qui ont seulement besoin de l'activité récente de la chaîne plutôt que de l'historique complet depuis l'ère Byron.

TxPipe a également présenté des données de performance provenant d'instances Dolos sur le mainnet. Selon le tableau de bord montré durant la session, une instance gérait environ 180 requêtes par seconde, avec une latence au 99e centile principalement en dessous de 800 millisecondes et au 50e centile autour de 4 à 5 millisecondes. Carmuega a lié ces résultats au fait que Dolos est un composant Rust compact à processus unique, combiné à un stockage clé-valeur local, des arbres LSM, des filtres Bloom et des stratégies d'indexation spécifiques.

La présentation incluait des exemples pratiques d'utilisation de Dolos, notamment Lace Anatomy, un explorateur de chaîne destiné aux développeurs fonctionnant sur Dolos comme backend sans DB Sync. Carmuega a également mentionné les endpoints de la plateforme Demeter et d'autres équipes de l'écosystème Cardano utilisant Dolos en coulisse pour l'accès aux données.

Dolos fournit une option backend pour les applications Cardano pouvant servir des modèles d'accès style Blockfrost, Kupo et UTXRPC sans nécessiter DB Sync pour chaque cas d'utilisation. Pour les portefeuilles, explorateurs et services de données, la différence opérationnelle est une voie plus légère vers les données de la chaîne Cardano lorsqu'une participation complète au consensus n'est pas une exigence d'infrastructure.