Mesmo de Cardano lleva el desarrollo asistido por IA a Python, Go, Rust y JavaScript

Durante Cardano Developers Office Hours, el arquitecto de software Mateusz Czeladka detalló cómo Mesmo admite el desarrollo de transacciones asistido por IA, la evaluación de Plutus sin conexión y la ejecución entre lenguajes. La presentación también examinó las limitaciones técnicas de la biblioteca y posibles mejoras.

By SongMarketCap

Cardano News - Mesmo de Cardano lleva el desarrollo asistido por IA a Python, Go, Rust y JavaScript

Mateusz Czeladka, Arquitecto de software sénior en Cardano Foundation, ofreció una guía técnica de Mesmo durante la 84.ª sesión de Developers Office Hours, presentada por Fabian Bormann. La presentación exploró cómo la biblioteca de código abierto hace que la funcionalidad de desarrollo de Cardano sea accesible en múltiples lenguajes de programación, con especial atención al procesamiento de transacciones, el desarrollo asistido por IA y la integración con la infraestructura de blockchain.

La conversación fue más allá del soporte de lenguajes existente de Mesmo para examinar cómo funciona su arquitectura, qué pueden construir los desarrolladores con ella y qué limitaciones técnicas permanecen en la versión presentada.

Mesmo utiliza un motor de ejecución compartido para transacciones de Cardano

Mesmo se construye en torno a Cardano Client Lib, una biblioteca de desarrollo de software en Java cuya funcionalidad se compila en una biblioteca nativa compartida usando GraalVM Native Image. Envolturas específicas por lenguaje permiten que aplicaciones escritas en Python, Go, Rust y JavaScript accedan a ese código compilado mediante una interfaz binaria de aplicación estándar en C (ABI).

Esta arquitectura permite a los desarrolladores usar operaciones de Cardano compatibles sin ejecutar una Java Virtual Machine. También proporciona acceso a funcionalidades que pueden faltar en el kit de desarrollo de software principal de una aplicación.

Czeladka explicó que el enfoque surgió en parte por diferencias en los calendarios de mantenimiento entre bibliotecas de Cardano. Durante la conversación, los participantes recordaron un periodo anterior en el que la biblioteca Apollo basada en Go carecía de soporte para transacciones de Plutus V3, lo que obligó a realizar ajustes de arquitectura en aplicaciones que dependían de ella.

En lugar de sustituir herramientas consolidadas como MeshJS, PyCardano, Pallas o Apollo, Mesmo ofrece acceso a funciones seleccionadas desde una implementación compartida.

Sus capacidades incluyen gestión de monederos y direcciones, firma de transacciones, operaciones de staking, scripts nativos y transacciones de gobernanza de Cardano. La funcionalidad de gobernanza se extiende a operaciones especializadas que implican votación del Constitutional Committee y otras acciones más allá de la delegación DRep estándar.

Un componente central es TX Plan, que describe las transacciones mediante datos YAML estructurados. En lugar de construir cada operación con una secuencia de métodos específicos del lenguaje, los desarrolladores proporcionan una definición de transacción que Mesmo interpreta y procesa.

Este modelo permite que aplicaciones escritas en distintos lenguajes accedan a la misma lógica de transacciones subyacente, manteniendo el control sobre su infraestructura circundante.

Agentes de codificación con IA pueden trabajar con transacciones estructuradas de Cardano

Una de las áreas exploradas durante la presentación fue la compatibilidad de Mesmo con el desarrollo de software asistido por IA.

El proyecto ofrece un paquete inicial de IA que contiene información sobre sus interfaces de programación. Los desarrolladores pueden proporcionar estos materiales a herramientas de codificación con IA para ayudarles a comprender las funciones disponibles, las entradas esperadas y las operaciones de transacción compatibles.

TX Plan ofrece una interfaz estructurada para este flujo de trabajo. Un agente de codificación con IA puede generar una definición de transacción en YAML, que una aplicación puede pasar a Mesmo para la construcción de la transacción.

Sigue siendo importante distinguir entre generar una transacción y ejecutarla en la blockchain.

Mesmo no se conecta de forma independiente a nodos de Cardano, no recupera información en cadena ni difunde transacciones. Esas responsabilidades pertenecen a la aplicación que integra la biblioteca.

Por ejemplo, una aplicación puede obtener los UTXO disponibles y los parámetros de protocolo de un proveedor de datos de blockchain compatible, pasar esas entradas a Mesmo y recibir datos de transacción serializados. Tras la firma, la aplicación envía la transacción a través del servicio de red que elija.

Czeladka describió la ejecución subyacente como determinista y sin estado, lo que significa que las mismas entradas suministradas producen los mismos resultados sin que la biblioteca cambie de forma independiente el estado externo de la blockchain.

La presentación también examinó la evaluación de Plutus sin conexión. Mesmo incluye un evaluador Scalus integrado que puede calcular la memoria y las unidades de ejecución de CPU requeridas por las transacciones de contratos inteligentes compatibles. Los desarrolladores pueden integrar evaluadores alternativos mediante la interfaz disponible.

Este arreglo permite que la construcción de transacciones y la evaluación de scripts se realicen localmente, sin requerir una solicitud de red separada para la propia evaluación.

El manejo de cuentas sigue una separación de responsabilidades similar. Un objeto de cuenta puede conservar el material de claves necesario para la generación de direcciones y la firma de transacciones, evitando la transmisión repetida de frases mnemotécnicas entre funciones de la aplicación.

Sin embargo, el uso de bibliotecas nativas introduce consideraciones de gestión de memoria. Los participantes debatieron cómo deben liberarse los recursos a través del límite entre el lenguaje de programación anfitrión y el código nativo, en particular cuando hay material criptográfico sensible involucrado.

[NEWSBREAK]

Restricciones previas al lanzamiento y posible compatibilidad con WebAssembly

La presentación identificó varias limitaciones prácticas en la implementación de Mesmo.

El soporte de JavaScript en la versión demostrada depende del runtime Bun. Node.js no es compatible debido a dificultades relacionadas con su Foreign Function Interface.

Otra restricción es el tamaño de la biblioteca compilada, aproximadamente 60 MB. Czeladka describió esto como una posible concesión aceptable para aplicaciones del lado del servidor y un obstáculo más significativo para entornos con requisitos estrictos de tamaño de paquetes.

La distribución nativa también requiere compilaciones compatibles para distintos sistemas operativos y arquitecturas de procesador. Dar soporte a esas combinaciones añade trabajo de mantenimiento a medida que el proyecto se expande.

Czeladka habló de WebAssembly como una posible alternativa futura. Las capacidades en desarrollo de WebAssembly en GraalVM podrían eventualmente proporcionar un objetivo de ejecución más portátil, reduciendo la necesidad de distribuir binarios nativos separados en múltiples plataformas. La presentación no estableció una fecha de lanzamiento ni confirmó la disponibilidad en producción de ese enfoque.

Otras posibilidades de desarrollo incluyen integraciones adicionales con proveedores de datos de blockchain, constructores de transacciones específicos por lenguaje, mejor manejo de errores y un soporte más amplio para firma y metadatos relacionados con contratos.

La implementación presentada usa TX Plan como su interfaz principal para la construcción de transacciones. Podrían desarrollarse métodos de programación más convencionales sobre el motor compartido si la demanda de la comunidad respalda ese trabajo.

Mesmo también incluye registros de decisiones de arquitectura y documentación de código abierto destinada a ayudar a los contribuyentes a comprender y ampliar la implementación.

El equipo busca comentarios de desarrolladores que prueban las envolturas de lenguaje disponibles y las funciones de transacción. Las contribuciones pueden incluir nuevos proveedores de datos de blockchain, mejoras en la gestión de recursos y soporte para operaciones faltantes.

En la implementación demostrada durante Developers Office Hours, Mesmo proporciona construcción de transacciones, firma y evaluación local de Plutus a través de su biblioteca nativa compartida, mientras que las aplicaciones siguen siendo responsables del acceso a la red y del envío de las transacciones completadas.

Ver en YouTube