El ingeniero de la Fundación Cardano traza el camino hacia la versión 1.0 del marco de desarrollo elm-cardano

Mathieu Pizenberg presentó el estado actual de elm-cardano durante las Cardano Developers Office Hours, cubriendo la construcción de transacciones, herramientas de Elm, incorporación de desarrolladores y el camino del marco hacia una versión más estable.

By SongMarketCap

Cardano News - El ingeniero de la Fundación Cardano traza el camino hacia la versión 1.0 del marco de desarrollo elm-cardano

Las Cardano Developers Office Hours organizaron una sesión técnica centrada en el camino hacia la versión 1.0 de elm-cardano, un marco de desarrollo que conecta el lenguaje de programación Elm con el desarrollo de aplicaciones en Cardano. La sesión fue moderada por Fabian Bormann, con Mathieu Pizenberg, Ingeniero Senior de Software en la Fundación Cardano, presentando el estado actual del proyecto y los problemas relacionados con las herramientas para desarrolladores que busca abordar.

elm-cardano se posiciona como un marco para construir aplicaciones de front-end de Cardano y herramientas de transacciones con Elm, un lenguaje de programación funcional conocido por su tipado fuerte, rápida retroalimentación del compilador y estabilidad. La discusión abarcó el constructor de transacciones del marco, su diseño basado en intenciones, el manejo local de UTXO, la selección de monedas y la cuestión más amplia de cómo los desarrolladores de Cardano pueden usar más de las capacidades ya disponibles en el ledger.

elm-cardano se enfoca en herramientas de front-end y transacciones de Cardano

Pizenberg explicó que la idea original para la sesión surgió del trabajo en un constructor de transacciones interactivo. La herramienta propuesta permitiría a los desarrolladores construir diferentes tipos de transacciones de Cardano de manera visual a través de una interfaz web, en lugar de escribir inmediatamente una aplicación completa o depender de flujos de trabajo basados en la línea de comando.

El concepto del constructor de transacciones está diseñado para soportar acciones como enviar tokens, acuñar NFTs, retirar recompensas de staking e interactuar con dApps. También permitiría a los desarrolladores combinar varias acciones en una sola transacción de Cardano, una de las capacidades prácticas del modelo eUTXO.

Según Pizenberg, muchos desarrolladores necesitan una forma más rápida de probar patrones específicos de transacciones. En lugar de configurar una aplicación completa en JavaScript o usar un flujo de trabajo CLI para cada experimento, la interfaz propuesta daría a los desarrolladores una manera más directa de construir, inspeccionar y probar comportamientos de transacciones.

La presentación también colocó a elm-cardano dentro del ecosistema más amplio de Elm. Elm fue descrito como un lenguaje funcional estable para aplicaciones de front-end, con un enfoque en evitar excepciones en tiempo de ejecución, reducir riesgos de dependencia y mejorar la seguridad en la refactorización. Pizenberg dijo que el lenguaje sigue activo a pesar de su lento ciclo de lanzamientos, y agregó que su estabilidad a menudo se confunde con inactividad.

La construcción de transacciones basada en intenciones apunta a un desarrollo más flexible en Cardano

Una parte importante de la sesión se centró en cómo elm-cardano aborda la construcción de transacciones. Pizenberg comparó el marco con patrones comunes de constructores de transacciones, especialmente en bibliotecas de JavaScript, donde el desarrollador a menudo trabaja cerca de la representación del ledger de una transacción.

elm-cardano utiliza un enfoque basado en intenciones. En lugar de requerir que los desarrolladores describan manualmente cada componente de transacción de bajo nivel, el desarrollador describe lo que la transacción debería hacer. Por ejemplo, la intención puede ser enviar activos a una dirección, usar un conjunto de UTXO definido, crear una salida específica o combinar múltiples acciones en una transacción.

El marco luego procesa esas intenciones y trabaja a través de los requerimientos técnicos necesarios para producir una transacción válida de Cardano. Pizenberg describió esto como una forma de separar el objetivo del desarrollador de la estructura de bajo nivel del cuerpo final de la transacción.

La presentación también cubrió el estado local de UTXO, que permite que el constructor de transacciones opere con un conjunto definido de salidas. Esto puede ser útil para pruebas porque el constructor no necesita depender directamente de servicios externos como proveedores de API de blockchain. En cambio, puede trabajar con el estado suministrado por el desarrollador.

Ese diseño también soporta el encadenamiento de transacciones. Una vez que una transacción se finaliza localmente, el estado resultante puede usarse para construir otra transacción sin esperar la confirmación en la cadena durante el flujo de desarrollo. Esto permite a los desarrolladores probar secuencias de transacciones en condiciones controladas.

Pizenberg también discutió la selección personalizable de monedas. elm-cardano incluye enfoques predeterminados como la selección del mayor primero, junto con un método de selección enfocado en colateral por separado. El ejemplo del colateral se presentó como un problema práctico porque los desarrolladores generalmente no quieren que un UTXO de alto valor se seleccione como colateral para una transacción de Plutus.

El camino hacia la versión 1.0 incluye APIs más limpias, pruebas y un DevX más amplio para Cardano

El camino hacia la versión 1.0 para elm-cardano incluye trabajo en la estructura central del marco y en las APIs orientadas a desarrolladores. Pizenberg dijo que algunas partes del proyecto comenzaron hace unos tres años y que varias decisiones de diseño tempranas ahora necesitan ser revisadas antes de un lanzamiento más estable.

Un área discutida fue el proceso de múltiples rondas requerido para construir ciertas transacciones de Cardano. Debido a que las tarifas de transacción dependen del tamaño de la transacción, y el tamaño de la transacción puede cambiar cuando se agregan UTXOs, redentores o evaluaciones de scripts de Plutus, el constructor puede necesitar varias rondas antes de alcanzar una transacción final estable.

Pizenberg dijo que la implementación actual ejecuta manualmente varias rondas de construcción, mientras que una versión futura debería identificar un punto fijo estable de manera más limpia. Esto permitiría que el marco deje de reconstruir una vez que el estado de la transacción ya no cambie.

La sesión también cubrió el indexado de redentores y la posicionamiento de salidas, que son importantes para interacciones más avanzadas con contratos inteligentes de Cardano. Algunos scripts dependen de índices específicos de entradas o salidas, y los constructores de transacciones necesitan exponer suficiente control para que los desarrolladores compongan interacciones complejas a lo largo de múltiples protocolos.

La discusión se expandió hacia la experiencia del desarrollador en Cardano de manera más amplia. Pizenberg dijo que muchas de las capacidades de Cardano todavía están subutilizadas por dApps y herramientas. También animó a los desarrolladores que construyen protocolos a contribuir con correcciones y mejoras a las bibliotecas que utilizan, en lugar de resolver problemas solo dentro de sus propias aplicaciones.

El lenguaje Elm también se discutió en el contexto del desarrollo asistido por IA. Pizenberg señaló que la retroalimentación del compilador de Elm y sus mensajes de error precisos son útiles para trabajar con herramientas LLM, porque los errores precisos pueden ayudar a los modelos a identificar y corregir problemas más rápidamente.

elm-cardano no se describe actualmente como un marco de producción ampliamente utilizado en proyectos de Cardano. La sesión lo presentó como un esfuerzo técnico activo, una implementación experimental y un punto de referencia para cómo las herramientas de transacciones de Cardano pueden exponer más de las capacidades existentes del ledger. La próxima fase de elm-cardano se centra en APIs más limpias, un comportamiento mejorado del constructor de transacciones y un marco más estable para que los desarrolladores prueben flujos avanzados de transacciones de Cardano.