🇪🇸 Demeter: Simplificando el desarrollo de DApps en Cardano

Autor: Matthias Benkort Director Técnico de Desarrollo de Código Abierto

Dados los conocimientos de ingeniería blockchain necesarios para gestionar los componentes individuales de Cardano, iniciarse en la red puede resultar todo un reto. Este aspecto es especialmente cierto cuando los desarrolladores quieren abstenerse de utilizar soluciones centralizadas o de gestionar la infraestructura. En lo que respecta a esos desarrolladores, la Fundación Cardano reconoce el valor de Demeter y cómo puede fomentar la adopción y el crecimiento del ecosistema.

Demeter es una plataforma de software construida para agilizar el proceso de desarrollo dentro del ecosistema Cardano y hacer que la creación de aplicaciones descentralizadas (DApps) sea más fácil para los desarrolladores. Como solución todo en uno, esta plataforma permite a los desarrolladores desplegar fácil y rápidamente entornos de testnet y mainnet.

Construir sobre la red Cardano

Desde una perspectiva más amplia, Demeter pretende eliminar las barreras de entrada para aquellos que buscan lanzar aplicaciones en Cardano. Como tal, la Fundación ha ofrecido a TxPipe, la empresa detrás de Demeter, una subvención única. Esta subvención permitirá financiar un nivel gratuito que ofrece un acceso limitado a la plataforma Demeter. En concreto, este nivel permitirá el acceso a:

  • Un nodo Cardano configurado para redes preview, pre-prod, o (más adelante) mainnet;
  • Varias herramientas para desarrolladores del ecosistema, como Ogmios, cardano-db-sync, Scrolls, Oura, Kupo, e Hydra;
  • Espacios de trabajo con kits de inicio para diversos casos de uso (por ejemplo, desarrollo de Plutus con Haskell, Aiken, Helios, etc.) con plantillas listas para usar que se utilizan para arrancar rápidamente nuevos proyectos.

Gracias a este acuerdo, la Fundación pretende abordar algunos de los retos asociados al desarrollo de aplicaciones en la blockchain Cardano, a saber, la incorporación de nuevos desarrolladores.

Complejidad de la Incorporación

Cardano sigue un enfoque minimalista en lo que respecta a los componentes principales. Por ejemplo, el nodo Cardano está destinado a hacer solo lo necesario para garantizar el rendimiento de la red. En concreto, el nodo solo almacena la información necesaria para seguir y validar la cadena. Por ello, muchas responsabilidades se trasladan a las aplicaciones cliente. Este enfoque pretende que el mantenimiento de los componentes básicos sea razonable, al tiempo que permite al ecosistema desarrollar en paralelo las soluciones modulares necesarias. No obstante, para los nuevos usuarios de Cardano, esta dinámica puede resultar abrumadora, ya que el desarrollo requiere el uso simultáneo de múltiples herramientas. Desde indexadores de cadenas, wallets, constructores de transacciones, observadores de cadenas y exploradores, existe una miríada de herramientas que, una vez orquestadas adecuadamente, pueden resolver prácticamente cualquier problema.

Algunas herramientas típicas que se encuentran en un entorno de desarrollo de Cardano incluyen:

Dada la diversidad de módulos, plataformas como Demeter resultan especialmente útiles para ayudar a los desarrolladores a iniciarse en el uso de Cardano. En concreto, Demeter simplifica la puesta en marcha y el despliegue de estos componentes. Esta dinámica permite integraciones sin fisuras, fomentando la innovación dentro del ecosistema Cardano.

Relación entre infraestructura y desarrollador

Además del proceso de puesta en marcha, los componentes de infraestructura típicos que se encuentran en un entorno de desarrollo de Cardano requieren importantes recursos para funcionar, como CPU, memoria y almacenamiento en disco. Si tenemos en cuenta que, durante el proceso de desarrollo, un desarrollador puede necesitar conectarse a varias redes de Cardano, como preview, preprod, mainnet, etc., los requisitos de recursos pueden llegar a ser prohibitivos para algunos desarrolladores, incluso para los que utilizan máquinas potentes. También hay que sincronizar los datos de cada red cada vez, lo que hace que establecer un entorno de desarrollo sea especialmente engorroso.

Para mitigar el problema existen algunas técnicas estándar, por ejemplo, el uso de cargas de trabajo en contenedores que pueden ponerse en pausa durante los periodos de inactividad. Aunque válidas, estas soluciones provisionales ofrecen soluciones parciales y a menudo requieren configurar y conectar las piezas manual e individualmente.

Sería mejor utilizar los recursos compartiendo instancias de estos componentes de infraestructura entre varios desarrolladores. La relación entre la infraestructura y los desarrolladores debería seguir una proporción de 1:N, con el coste de funcionamiento de la infraestructura dividido entre varios participantes. Como solución basada en la nube, Demeter permite a varios participantes compartir el coste de la infraestructura, lo que anima a más desarrolladores a unirse al ecosistema Cardano. Esta dinámica promueve una comunidad de desarrolladores vibrante y sostenible, impulsando la innovación y el crecimiento al tiempo que minimiza la carga financiera de los desarrolladores individuales.

Múltiples pilas tecnológicas

El desarrollo de blockchain implica múltiples disciplinas: desarrollo frontend, desarrollo backend, desarrollo de smart contract y más. Aunque la mayor parte del núcleo de desarrollo de Cardano sigue estando muy centrado en Haskell, ya se aprecia una tendencia hacia la introducción de diferentes lenguajes y marcos de programación. De hecho, existen muchas bibliotecas y ecosistemas bien amueblados en lenguajes alternativos como Rust, Java, Go o C#. Esta tendencia también es visible en la cadena con la llegada de nuevas plataformas de programación como Aiken o Helios, que ofrecen alternativas convincentes a Haskell.

Demeter ofrece una plataforma unificada que consolida recursos y herramientas para esos ecosistemas. Esta dinámica agiliza el desarrollo, haciéndolo más accesible y eficiente para los desarrolladores de diferentes stacks, fomentando un entorno cohesivo y colaborativo para construir sobre Cardano.

Entornos de aprendizaje Sandbox

Una adopción a gran escala de Cardano también implica atraer a desarrolladores ajenos al ecosistema actual, responder a las expectativas del estado del arte y proporcionar a los desarrolladores entornos de prueba adecuados. Ofrecer entornos “sandbox” temporales y plenamente capacitados que se ponen en marcha en pocos minutos ofrece a los desarrolladores un mecanismo para experimentar con proyectos prácticos, mostrando las capacidades de su sistema.

Demeter pretende adoptar una estrategia similar, suministrando extensiones que soporten entornos sandbox o testnet, permitiendo a los desarrolladores perfeccionar y validar sus proyectos sin la carga de gestionar ellos mismos la infraestructura. Una vez listos, pueden seguir alojándolos en Demeter o exportar su configuración como configuraciones Terraform o Kubernetes, dos tecnologías muy utilizadas para gestionar infraestructuras.

Plataforma de bajo nivel como servicio (PaaS)

Numerosos servicios del ecosistema Cardano ofrecen API basadas en la web para facilitar las interacciones blockchain en una abstracción de alto nivel (por ejemplo, Blockfrost, Koios, GoMaestro, etc.). Estos servicios eliminan la complejidad de interactuar con la capa subyacente de componentes. No obstante, los proyectos que trabajen en el ajuste fino del rendimiento o los que requieran más flexibilidad en sus flujos de trabajo también necesitarán un acceso de nivel inferior, que incluya

  • acceso directo a los miniprotocolos de nodo a nodo y de nodo a cliente de Ouroboros;
  • acceso directo a los puntos finales WebSocket & HTTP de Ogmios;
  • acceso directo a los puntos finales HTTP de cardano-submit-api;
  • acceso directo PostgreSQL a los datos cardano-db-sync;
  • acceso directo a los puntos finales HTTP de Kupo.

Ciertos protocolos blockchain ofrecen servicios a diferentes niveles de abstracción, tanto abstracción API de alto nivel como puntos finales de protocolo de bajo nivel. Por ejemplo, las soluciones que ofrecen “nodos como servicio” se han hecho comunes. Del mismo modo, Demeter ofrece a los desarrolladores la flexibilidad de trabajar en el nivel de abstracción que se adapte a sus necesidades, tanto si requieren una interfaz simplificada como un acceso más profundo al protocolo. Esta flexibilidad puede aumentar el atractivo y la usabilidad del ecosistema Cardano, atrayendo a una gama más amplia de desarrolladores y casos de uso.

Una descripción técnica de Demeter

Demeter ofrece entornos en nube organizados por clúster. Un clúster representa un grupo de recursos computacionales y herramientas que diferentes proyectos pueden consumir simultáneamente de forma controlada y medida. Los clústeres son elásticos por naturaleza, lo que significa que adquieren más recursos automáticamente cuando los necesitan y se reducen durante los tiempos de inactividad.

Un proyecto Demeter se define como uno o más desarrolladores que interactúan con el cluster para construir y desplegar una DApp de Cardano. En cada clúster, los desarrolladores pueden habilitar una variedad de extensiones para acceder a diferentes servicios útiles, como:

  • Nodos Cardano: versiones totalmente sincronizadas y gestionadas del Nodo Cardano a las que se puede acceder a través de una red privada utilizando los miniprotocolos de Ouroboros.
  • Cardano DB-Sync: una versión gestionada de cardano-db-sync. Los datos pueden recuperarse mediante acceso SQL directo a instancias PostgreSQL de alta disponibilidad.
  • Cardano Ogmios: instancias de Ogmios altamente disponibles a las que se puede acceder directamente a través de WebSocket o HTTP.
  • Cardano Submit API: instancias privadas y con equilibrio de carga de cardano-submit-api a las que se puede acceder directamente a través de HTTP para enviar transacciones de Cardano serializadas.
  • Cardano Oura Webhooks: permite a los desarrolladores crear acciones automatizadas impulsadas por eventos en respuesta a los eventos de la blockchain Cardano impulsados por Oura.
  • Cardano Kupo: un índice de cadena ligero y configurable para la blockchain Cardano junto con una API HTTP fácil de usar para los desarrolladores.
  • Cardano Blockfrost RYO: una instancia autoalojada de la API Blockfrost, que ofrece una pasarela real a la blockchain Cardano.
  • Cardano Kuber: biblioteca Haskell y servicio API para construir y componer transacciones Cardano.
  • Cardano Hydra Node: un nodo Hydra autoalojado junto con una interfaz de usuario terminal y un útil panel de control para simplificar la creación y gestión de cabezas Hydra.
  • Marlowe Runtime: permite la ejecución de smart contracts Marlowe en la blockchain Cardano.

Esta completa herramienta apoya a Cardano agilizando el desarrollo dentro de una plataforma unificada. En términos técnicos, Demeter simplifica el acceso a los datos y servicios de blockchain al tiempo que permite entornos de prueba robustos.

En consonancia con el apoyo de la Fundación a los proyectos que contribuyen significativamente al ecosistema, especialmente aquellos que pueden tener un amplio impacto futuro, decidimos colaborar con TxPipe y dar acceso al ecosistema a un nivel gratuito de Demeter. Al estructurar la subvención de la Fundación de este modo, pretendemos ayudar a TxPipe a llegar a un público más amplio, ampliar el atractivo de la red Cardano e impulsar la innovación en todo el ecosistema.

Medición del impacto de la asociación

Desde que TxPipe habilitó un clúster de nivel libre en la región de la UE el 21 de junio de 2023, varias métricas de usuarios han mostrado un crecimiento significativo. En particular, en agosto

  • Se inscribieron 386 nuevos usuarios
  • Se crearon 452 proyectos
  • Se concedieron 317 ayudas a nuevos usuarios
  • Se crearon 108 espacios de trabajo

Además, en septiembre

  • 446 nuevos usuarios se inscribieron
  • Se crearon 525 proyectos
  • Se concedieron 391 subvenciones a nuevos usuarios.
  • Se crearon 114 espacios de trabajo

*Patrocinado por la Fundación Cardano (cada nuevo usuario recibe la subvención solo por el primer proyecto que crea).

Con la participación de los usuarios libres completada a 30 de septiembre, la Fundación revisará ahora su impacto global, con el objetivo de determinar la eficacia de la subvención. En caso de que estos resultados indiquen un aumento del número de usuarios, es posible que existan oportunidades adicionales para trabajar junto a TxPipe en futuras iniciativas de adopción.


Traducción al español de “”Simplifying Cardano DApp development with Demeter, escrito por @KtorZ [Matthias Benkort], Director de Desarrollo de Código Abierto de la @Cardano-Foundation, en octubre 20 de 2023.


Notas del traductor

  • Corchetes del traductor.
  • :es: indica que el enlace apunta a un contenido en idioma español.

Considere suscribirse a las siguientes fuentes de información en español de Cardano según su interés.