Dolos lleva un nodo de datos ligero basado en Rust a los desarrolladores de Cardano
TxPipe presentó Dolos durante las Cardano Developers Office Hours, describiendo un nodo de datos ligero de Cardano basado en Rust, diseñado para reducir la carga de infraestructura y ofrecer a los desarrolladores un acceso flexible a los datos de la cadena de bloques.
By SongMarketCap
Las Cardano Developers Office Hours recibieron a Santiago Carmuega, CEO y fundador de TxPipe, para una presentación técnica sobre Dolos, un nodo de datos ligero de Cardano escrito en Rust. La sesión se centró en la diversidad de infraestructura, la modularidad y un acceso más sencillo a los datos de la cadena de bloques de Cardano para aplicaciones, billeteras y servicios backend.
Dolos fue presentado como una herramienta complementaria, no un reemplazo del nodo existente de Cardano. Su propósito es más específico, proporcionando una capa de consulta flexible para equipos que necesitan datos confiables de la cadena sin operar una pila completa de infraestructura.
Dolos se enfoca en la experiencia de los desarrolladores y el acceso a datos de Cardano
TxPipe desarrolla herramientas de código abierto para los desarrolladores de Cardano, y Dolos encaja en ese enfoque más amplio de mejorar la experiencia de desarrollo. Carmuega dijo que uno de los primeros puntos problemáticos que encontró en el ecosistema de Cardano fue la dificultad de obtener datos del nodo.
En algunos ecosistemas blockchain, los desarrolladores pueden consultar un punto final y recibir información sobre el último bloque, una transacción o el estado de una dirección. En Cardano, ese proceso es más exigente técnicamente porque implica mini protocolos de Ouroboros, formatos binarios y un modelo de redes personalizado.
Según la presentación, Dolos fue creado como un nodo alternativo y complementario para un caso de uso específico, ofreciendo a los desarrolladores una forma más rica y flexible de consultar datos de la cadena de Cardano. Esto lo hace relevante para equipos que desarrollan aplicaciones, billeteras y servicios de datos que no necesitan participar en el consenso o producir bloques, pero que sí requieren un backend estable para leer datos de la cadena.
Carmuega también comparó Dolos con DB Sync. DB Sync sigue siendo una herramienta común para un acceso profundo basado en SQL a los datos de Cardano, pero requiere un nodo de Cardano, PostgreSQL y un trabajador de sincronización. Dolos se centra en casos donde las aplicaciones ya conocen los datos específicos que necesitan y pueden utilizar APIs más eficientes en lugar de operar un backend SQL dinámico completo.
Nodo de Cardano basado en Rust compatible con Blockfrost, Kupo y UTXRPC
Dolos expone varias superficies API para aplicaciones externas. Una de ellas es una interfaz gRPC que utiliza la especificación UTXRPC, diseñada para casos donde la comunicación compacta binaria y las consultas de baja latencia son importantes. Dolos también incluye una API con forma de Blockfrost, permitiendo que los equipos que ya usan puntos finales estilo Blockfrost orienten aplicaciones existentes hacia Dolos con menos cambios de integración.
TxPipe dijo que ha trabajado estrechamente con el equipo de Blockfrost y ha utilizado pruebas de conformidad de Blockfrost para verificar la compatibilidad de los puntos finales. Según Carmuega, Dolos pasa más de 900 pruebas de conformidad, aunque no soporta todos los puntos finales de Blockfrost porque algunos fueron excluidos tras una revisión costo-beneficio.
Dolos también proporciona una mini API de Kupo centrada en el conjunto UTXO, datums y scripts, utilizando patrones de consulta familiares para los usuarios de Kupo. Además, expone los mini protocolos nodo-cliente de Cardano, incluyendo consultas de estado local y sincronización de cadena. Esto permite que ciertas herramientas que esperan interacción con un nodo Haskell se conecten a Dolos y utilicen parte de la misma superficie API.
Este diseño posiciona a Dolos como un adaptador de infraestructura para aplicaciones de Cardano. Las billeteras, constructores de transacciones, exploradores y herramientas middleware pueden utilizar diferentes patrones de acceso dependiendo de si necesitan compatibilidad con Blockfrost, consultas estilo Kupo del conjunto UTXO, rendimiento de UTXRPC o una interfaz de socket más cercana a un entorno estándar de nodo Cardano.
Modelo de almacenamiento con ventana deslizante y supuestos de confianza del nodo relay
Dolos incluye compensaciones claras. Carmuega dijo que Dolos no realiza consenso completo ni validación completa de bloques cuando extrae datos. En cambio, conecta a través de protocolos nodo-a-nodo a un nodo relay, local o público, seleccionado por el operador como fuente de datos. Esto crea un supuesto de confianza entre Dolos y el nodo relay que se utiliza.
Para los desarrolladores de aplicaciones, ese modelo puede encajar en casos de uso de acceso a datos donde un equipo no necesita ejecutar una pila completa de nodos locales. La comparación hecha durante la sesión fue que DB Sync también depende de un nodo en el fondo como su fuente de datos, mientras que Dolos puede conectar a un nodo relay sin requerir un socket de nodo Haskell local.
Una característica técnica destacada en la presentación es el modelo de almacenamiento con ventana deslizante de Dolos. Los operadores pueden mantener la historia completa de la cadena, pero también pueden elegir una ventana de tiempo limitada. En esa configuración, Dolos retiene bloques, transacciones, scripts, datums y datos UTXO relevantes al período seleccionado mientras los datos más antiguos se eliminan del almacenamiento local. Esto puede reducir los requerimientos de disco para aplicaciones que solo necesitan actividad reciente de la cadena en lugar de toda la historia desde la era Byron.
TxPipe también mostró datos de rendimiento de instancias Dolos en mainnet. Según el tablero mostrado durante la sesión, una instancia estaba manejando alrededor de 180 solicitudes por segundo, con la latencia del percentil 99 principalmente debajo de los 800 milisegundos y el percentil 50 alrededor de 4 a 5 milisegundos. Carmuega conectó esos resultados con que Dolos es un componente compacto de un solo proceso en Rust, combinado con almacenamiento local de clave-valor, árboles LSM, filtros bloom y estrategias específicas de indexación.
La presentación incluyó ejemplos prácticos de Dolos en uso, incluyendo Lace Anatomy, un explorador de cadena centrado en los desarrolladores que ejecuta Dolos como su backend sin DB Sync. Carmuega también mencionó los puntos finales de la plataforma Demeter y otros equipos del ecosistema de Cardano que utilizan Dolos bajo el capó para el acceso a datos.
Dolos ofrece a las aplicaciones de Cardano una opción de backend que puede servir patrones de acceso estilo Blockfrost, estilo Kupo y UTXRPC sin requerir DB Sync para cada caso de uso. Para billeteras, exploradores y servicios de datos, la diferencia operativa es una ruta más ligera a los datos de la cadena de Cardano cuando la participación completa en el consenso no es parte del requisito de infraestructura.