🇪🇸 Lenguajes de Programación detrás del Código On-Chain de Cardano

En un artículo anterior, debatimos el papel especializado del desarrollador on-chain de la blockchain Cardano como responsable de escribir el código on-chain de una dApp Cardano que se despliega en la blockchain y es ejecutado por los nodos de la red. Para escribir este código on-chain, los desarrolladores de Cardano pueden utilizar diferentes lenguajes de programación.

La red Cardano fue hecha para ser versátil e inclusiva. Eligió Haskell como lenguaje principal, pero al mismo tiempo, creó las herramientas para abrir la red a cualquier alternativa. El empuje consiste en permitir varias soluciones posibles garantizando al mismo tiempo el mismo nivel de seguridad.

Eso ha creado un ecosistema muy especial para Cardano, uno en el que existen múltiples alternativas para escribir código en la cadena sin comprometer la seguridad de la blockchain. Esto es prácticamente inaudito en otros protocolos.

Cada uno de estos lenguajes es una alternativa al código on-chain que no compromete la seguridad de los smart contracts. Como tal, es una cuestión de preferencia cuál utilizar y no tanto de propiedades que los hagan mejores unos que otros.

Analicemos a continuación los diferentes lenguajes de programación para el código on-chain de Cardano.

Lenguajes de programación del código on-chain de Cardano

Los lenguajes de programación detrás del código en cadena de Cardano 2

PlutusTx

El primer idioma de la lista es PlutusTx.

Se trata del método admitido para escribir código en cadena por el equipo de IOG. Es un lenguaje específico del dominio que se creó basándose en Haskell y, como tal, refleja la sintaxis de su lenguaje padre casi 1 a 1.

PlutusTx es el método principal que está respaldado por las entidades del núcleo de Cardano. Por esta razón, cuenta con el mayor apoyo en términos de base de código, recursos, documentación y material educativo en el ecosistema de Cardano. Ya ha recibido una importante revisión tras el hard fork de Vasil (Cardano 101: What is the Vasil Hard Fork and its Major Network Updates?) y la introducción de PlutusV2.

Se espera que este patrón continúe en el futuro. Los desarrolladores del núcleo mejorarán las características de Plutus y otros equipos tendrán que ponerse al día con sus cambios. Por eso se recomienda aprender Plutus a todo aquel que quiera introducirse en el desarrollo de Cardano.

Aiken

Aiken is one of the alternatives to PlutusTx for on-chain code.

Aiken toma prestada parte de la sintaxis de Rust y la incorpora en una herramienta amigable para los desarrolladores de Cardano. El equipo detrás de Aiken, Txpipe, se ha centrado en crear un compilador fácil de usar que utiliza el gestor de paquetes de Rust para ofrecer mensajes de error legibles que pueden ayudar a localizar el problema más rápida y fácilmente.

Ello ha convertido a Aiken en una alternativa muy popular al PlutusTx original. Existe un pool considerable de desarrolladores que entienden la programación funcional pero utilizan Rust más que Haskell. Aiken les ha permitido entrar en el ecosistema de Cardano utilizando un lenguaje de su elección.

Por otro lado, Aiken ofrece algunas ventajas en cuanto al tamaño de la transacción. Es el tamaño lo que determina el importe de las tarifas, por lo que cualquier ganancia en ese ámbito hace que las transacciones y, por extensión, las dApps sean más baratas de utilizar.

Helios

The Helios language is a Javascript/Typescript SDK alternative for on-chain code on Cardano.

Ha sido creado para embarcar a los desarrolladores web en Cardano. El ecosistema Javascript/Typescript es uno de los más grandes entre los programadores y Helios es una buena opción para estas personas.

¡El kit de herramientas Helios también tiene la distinción de funcionar tanto para código on-chain como off-chain! Los creadores de Helios han desarrollado una versión para cada una de las caras de una dApp de Cardano. Así, los desarrolladores ya no necesitan utilizar un tipo de lenguaje para on-chain y luego cambiar a otro diferente para off-chain.

Este lenguaje Helios también puede utilizarse para calcular y gestionar los activos de Cardano durante una transacción. Esto lo convierte en una de las alternativas más versátiles del ecosistema de Cardano para programadores de todos los ámbitos.

Opshin

Opshin is a language that uses 100% valid Python code for on-chain logic on Cardano.

Constituye la principal alternativa para quienes buscan construir en la red y tienen conocimientos de Python. Existe una gran comunidad de analistas de datos que provienen de Python que pueden beneficiarse de esta alternativa.

Es un lenguaje fácil de instalar y de empezar a utilizar para quienes estén familiarizados con Python. Admite tanto paradigmas imperativos como funcionales sin comprometer el diseño central de los smart contracts de Cardano.

Programming-Languages-Behind-Cardano-On-Chain-Code-3

Plu-ts

Plu-ts desarrollado por Harmonic Labs es otra alternativa de Typescript para código en cadena.

La implementación del lenguaje también ofrece herramientas para escribir código fuera de la cadena, por lo que permite a los desarrolladores la posibilidad de utilizar la misma sintaxis para ambas partes de la dApp de Cardano.

Además, Plu-ts pretende dar a los desarrolladores un mayor control sobre el código compilado. Esto significa que el tamaño de un smart contract puede optimizarse para hacerlo más barato para el usuario. Esto significa que los desarrolladores de dApp pueden impulsar aún más Plu-ts para abaratar el uso de sus plataformas.

Plutarch

Plutarch es otro lenguaje de dominio específico aunque solo para código on-chain basado en Haskell. Se considera un lenguaje de bajo nivel. Si comparamos PlutusTx + Haskell para que sea similar a un lenguaje de programación general como C/C++, entonces Plutarch puede verse como algo parecido al lenguaje ensamblador dentro del ecosistema Cardano.

Su principal objetivo es optimizar el tamaño de un validador para que las transacciones sean lo más baratas posible. Por el momento, Plutarch es el lenguaje que prueba los validadores más pequeños para las dApps de Cardano.

Esto ha convertido a Plutarch en la primera opción para las dApps que quieren optimizar al máximo sus tarifas. Es una opción avanzada para desarrolladores que dominen Haskell, ya que se basa más en las características principales de su lenguaje padre que otras alternativas. Por esta razón, no es muy apto para principiantes, pero sin duda es una opción viable para los veteranos de Haskell.

Ahí tenemos una lista casi exhaustiva de todas las diferentes formas de escribir código en la cadena en Cardano. A excepción de PlutusTx, todos los demás proyectos fueron creados por la comunidad y cuentan con el apoyo de equipos independientes.

Todos ellos comparten las mismas propiedades básicas de seguridad y no comprometen a Cardano en modo alguno. Esto significa que la elección de cuál utilizar proviene de la experiencia de un equipo de desarrolladores. Todas las opciones son 100% viables y cada una está siendo mejorada constantemente por la comunidad Cardano.

Siga a EMURGO para X para obtener información sobre Cardano

EMURGO es una compañía global de tecnología blockchain que apoya a constructores, organizaciones y otros a adoptar Cardano para productos y servicios Web3.

Para recibir actualizaciones sobre Cardano y EMURGO, siga EMURGO en X (antes Twitter) para obtener detalles sobre los últimos anuncios, cursos de educación sobre Cardano, financiación de proyectos, eventos relacionados con Cardano y mucho más.

Sobre EMURGO

Exoneración de responsabilidad

  • No debe interpretar esta información u otro material como asesoramiento legal, fiscal, de inversión, financiero o de otro tipo. En ningún caso el contenido de este documento constituirá una solicitud, recomendación, aprobación u oferta de inversión por parte de EMURGO.*

Traducción al español de “The Programming Languages Behind Cardano On-Chain Code”, escrito por @EMURGO_io, en noviembre 13 de 2024.


Notas del traductor

  • Corchetes del traductor.
  • :uk: indica que el enlace apunta a un contenido en idioma inglés.
  • :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.