Cómo Crear Contratos Inteligentes Con Ergoscript | Plataforma Ergo
20 de febrero de 2024

Los contratos inteligentes son la columna vertebral de las finanzas descentralizadas (DeFi) y han sido una de las principales piezas de utilidad para la tecnología blockchain. Antes de repasar varias facetas de los contratos inteligentes en Ergo, hablemos sobre qué es un contrato inteligente.
¿Qué es un Contrato Inteligente?
Un contrato inteligente es un fragmento de código autoejecutable que generalmente se encuentra en una blockchain. Un contrato inteligente hace cumplir automáticamente los términos del contrato predefinidos cuando se cumplen ciertas condiciones. Funciona sin intermediarios y utiliza código para ejecutar acciones específicas de manera transparente y sin confianza. Algunas de estas acciones pueden incluir la compra de NFTs, la transferencia de monedas y tokens, o el préstamo o la concesión de activos.
Los contratos inteligentes de Ergo son una de las muchas características que lo diferencian de otras criptomonedas. Veamos por qué los contratos inteligentes de Ergo son tan especiales.
Entendiendo ErgoScript
Ergo utiliza el lenguaje de programación, ErgoScript, que se basa en Scala. La documentación de Ergo establece que ErgoScript es una forma simplificada de Scala que sirve como un lenguaje de alto nivel traducido a ErgoTree, que a su vez es un lenguaje de bajo nivel que se traduce en un protocolo criptográfico durante la ejecución. Este diseño permite que Ergo soporte varios protocolos criptográficos que incluyen firmas de anillo y umbral. A diferencia de Bitcoin, ErgoScript acomoda contratos financieros complejos al incorporar auto-replicación, lo que permite la creación de procesos Turing-Completos en la blockchain mientras mantiene los principios de seguridad y privacidad de Bitcoin. En esencia, ErgoScript facilita la construcción de dApps seguras y complejas mientras mantiene capacidades de privacidad.
Requisitos Previos para Crear Contratos Inteligentes
Debido a que Ergo es una blockchain eUTXO y tiene su propio lenguaje de programación, los nuevos desarrolladores deben familiarizarse primero con algunas de las características de Ergo antes de crear contratos inteligentes. Una de estas características es el concepto de ‘cajas.’ En Ergoscript, una 'caja' es una versión adaptable de un UTXO. No solo sirve como un contenedor para una criptomoneda vinculada a una dirección, sino que también incorpora 'registros' para datos adicionales. Estos datos pueden variar desde valores básicos hasta estructuras intrincadas que son utilizables en transacciones y ejecución de contratos inteligentes. Esta distinción diferencia la caja de Ergo de un UTXO típico que simplemente significa una cantidad de criptomoneda no gastada vinculada a una dirección específica. En criptomonedas basadas en UTXO, las transacciones utilizan UTXOs existentes como entradas y generan nuevos como salidas, y las salidas no gastadas representan las monedas disponibles para gastar en futuras transacciones.
Otro aspecto importante de la codificación que los nuevos desarrolladores necesitarán conocer es una comprensión general de la Descripción del Lenguaje ErgoScript. Este enlace ayudará a los nuevos desarrolladores a comenzar. A continuación se muestra una imagen de algunas de las facetas de Ergoscript con las que el usuario puede familiarizarse.

¿Cómo Puedo Crear un Contrato Inteligente Usando ErgoScript?
El primer paso para aprender a codificar contratos inteligentes en Ergo es familiarizarse con ErgoScript. Es importante señalar una vez más que Ergo utiliza el modelo UTXO, que es bastante diferente del modelo de cuenta tradicional. Un gran ejemplo de cómo el modelo eUTXO encaja con los contratos inteligentes se encuentra en la documentación de Ergo aquí. Por ejemplo, con eUTXO específicamente, crear un contrato inteligente implica designar una salida de transacción como el contrato. Por ejemplo, podrías querer pagar 10 monedas digitales a tu amigo si la temperatura alcanza los 90 grados Fahrenheit. Esto se representa como un montón en la alcancía digital, adjunto a un script que especifica la condición de gasto. Si se cumple la condición, tu amigo puede gastar el dinero con prueba de la condición cumplida. De lo contrario, los fondos permanecen en el montón, que sería visible para todos los participantes.
Los contratos inteligentes pueden ser complicados y abrumadores tanto para principiantes como para desarrolladores avanzados. Afortunadamente, el ecosistema de Ergo cuenta con una plétora de recursos que muestran tanto cómo aprender Ergoscript como cómo codificar contratos inteligentes. Este recurso en particular lleva al usuario al “Ergo Playground” en el que pueden experimentar con varios niveles de dificultad de contratos inteligentes. Este video de Robert Kornacki te guía a través de las etapas iniciales de creación de un contrato inteligente con un contrato de bloqueo por pin.

Kornacki afirma que “Este es un contrato inteligente simple que bloquea los fondos depositados bajo un número de pin. Cuando el número de pin es proporcionado inicialmente por el usuario, se hash fuera de la cadena, y el hash en sí se almacena en la cadena.
Cuando el usuario desea retirar sus fondos (gastar el UTXO bloqueado bajo este contrato), presenta una withdrawTransaction con el número de pin real en un registro del UTXO de salida. El contrato luego se ejecuta y verifica que cuando el nuevo número de pin proporcionado se hash, es igual al hash original mantenido en el registro de la caja bloqueada por el contrato. Si son iguales, el contrato se valida, y la transacción se acepta como válida y se agrega a la historia de la blockchain.
Ten en cuenta que este contrato está destinado puramente a ser utilizado como un ejemplo educativo. Es completamente inseguro y nunca debe usarse en la cadena. Los actores malintencionados pueden escanear el mempool para encontrar el número de pin cuando se publica la withdrawTransaction, y luego adelantarse publicando una tx con una tarifa de tx más alta + el mismo número de pin, robando así tus fondos bloqueados. Dicho esto, este es un gran contrato simple para comenzar.”
Este es un gran contrato inteligente para experimentar en las etapas iniciales del desarrollo de Ergo. Esto puede ayudar a los nuevos desarrolladores a acostumbrarse a trabajar con Ergoscript. Los nuevos desarrolladores pueden usar este enlace para ir directamente al Ergo Playground con el código ya importado para ellos. **Una vez más, este código es inseguro y debe usarse solo con fines educativos. **
El Futuro de los Contratos Inteligentes
El futuro de los contratos inteligentes representa posibilidades infinitas de interrumpir el sistema financiero tradicional y reemplazarlo con suposiciones sin confianza y transparentes. Los contratos inteligentes reducen la necesidad de documentación legal, abogados y transacciones de confianza. Los contratos inteligentes también son instantáneos y mucho más eficientes, lo que permitirá a empresas, negocios y emprendedores hacer más en mucho menos tiempo. Un par de posibles desventajas de los contratos inteligentes es que generalmente son irreversibles y pueden poseer posibles exploits de código que podrían resultar en la pérdida de fondos de los usuarios. Por eso es tan vital un código seguro al crear contratos inteligentes. Esta también es una de las razones por las que ErgoScript es tan poderoso. Es un lenguaje de codificación extremadamente seguro cuando se ejecuta correctamente.
Conclusión
ErgoScript es, en última instancia, un lenguaje de codificación que se distingue por el hecho de que permite la creación de contratos inteligentes dinámicos y seguros en Ergo. Permite a los desarrolladores crear dApps complejas y sofisticadas mientras es mucho más fácil de construir que muchos otros lenguajes de codificación. La naturaleza de código abierto de Ergo también agiliza el proceso para que los desarrolladores construyan su visión y creen algo especial.
Para los desarrolladores que desean experimentar con ErgoScript y contratos inteligentes o desean un conocimiento más avanzado sobre contratos inteligentes, consulte la documentación a continuación. El Discord de Ergo también tiene una sección #development en la que desarrolladores afines pueden interactuar y aprender sobre ErgoScript a un nivel más profundo.
Enlaces Útiles
- Aprender ErgoScript a través del video tutorial de Ergo Playground
- Contrato de Bloqueo por Pin
- Ergo Playground
- ErgoScript
- Cajas
- Descripción del Lenguaje ErgoScript
- eUTXO, Cajas, Direcciones
- Varios niveles de Contratos Inteligentes
- ¿Cómo funcionan los contratos UTXO?
- Documento Técnico de ErgoScript
- Transacciones y contratos inteligentes de múltiples etapas
Share post
13 de agosto de 2025
12 de agosto de 2025
9 de julio de 2025
12 de mayo de 2025

9 de febrero de 2022

8 de febrero de 2022

5 de febrero de 2022

1 de febrero de 2022

27 de enero de 2022

20 de enero de 2022

18 de enero de 2022

6 de enero de 2022

4 de enero de 2022

30 de diciembre de 2021

28 de diciembre de 2021

23 de diciembre de 2021








