Hola, muy buenas tardes etherians!

En esta oportunidad traemos una serie de artículos en la que aprenderemos a programar, ejecutar y modificar en la Blockchain Ethereum nuestro primer Contrato Inteligente o Smart Contract.

Brevísima explicación de un Contrato Inteligente

Un Contrato Inteligente (Smart Contract) no es más que una pieza de código programada en un lenguaje llamado Solidity que a simple vista nos hace recordar a Javascript con algunos matices de Go. Los contratos inteligentes se ejecutan en un entorno totalmente aislado de los archivos, procesos y conexiones de red de nuestra computadora, este entorno se llama Ethereum Virtual Machine (EVM). Un contrato inteligente se comportará siempre como el código se lo indique, el código es la ley.

Cosas que debes saber sobre un Contrato Inteligente:

  1. ¿Puede un contrato inteligente almacenar ETHER? Si, pero no siempre necesitaremos guardar los ETH recibidos, dependerá del uso de nuestro contrato inteligente.
  2. ¿Cómo publico un contrato inteligente? Para hacer público nuestro Contrato Inteligente y compartirlo con alguien más, debemos enviarlo a la red Ethereum a través de una transacción. La transacción será minada por un nodo y nos retornará la dirección del contrato.
  3. ¿Son las direcciones de los contratos diferentes a las de una cuenta? Las direcciones de los contratos tienen el mismo formato que cualquier dirección Ethereum común y corriente (0xf4d23…).
  4. ¿Cualquier persona a la que le envíes la dirección del contrato podrá interactuar con él? Si, cualquier persona, contrato o código podrá interactuar con él mediante transacciones o llamados (calls), solo con su dirección.
  5. ¿Puedo decidir quienes pueden interactuar con mi contrato inteligente? Podemos de manera opcional delimitar mediante código quienes pueden consultar, añadir y modificar información sobre estos contratos inteligentes.

¿Qué herramientas necesito para desarrollar un Contrato Inteligente?

Para esta labor utilizaremos solo 2 herramientas:

  1. Plugin Metamask para navegadores Google Chrome/Mozilla Firefox: Nos permitirá conectar nuestro navegador a la red Ethereum en sencillos pasos.
  2.  Browser Solidity: Se trata de un entorno de programación para Solidity totalmente online. Nos permitirá programar y ejecutar nuestro Contrato Inteligente, realizar llamados a la funciones internas del contrato, añadir y modificar información del mismo.

Luego de muchas noches de lectura y programación en Solidity, pude comprender al fin que un Contrato Inteligente no es más que una especie de sub-Base de datos en la Blockchain Ethereum (pues la Blockchain ya es otro tipo de Base de datos).

En la segunda parte comenzaremos con Solidity, explicaremos algunas de sus características, funciones y variables globales, que a nuestro parecer es lo más relevante para comenzar a programar en él. Utilizaremos las redes de prueba de Ethereum (Rinkeby/Ropsten) para ejecutar el código creado, pues en estas redes los ETHER que se crean no son reales, pues son más fáciles de obtener y no pueden ser transferidos a la red Main Net (Red real).

¿Alguna duda?

Siempre puedes dejarla en los comentarios y te responderemos lo antes posible 😉

Segunda parte: [dApp] dMessenger – Libro de visitas descentralizado

Tercera parte: Tutorial – dApp Venta de entradas [dEvents]

Saludos etherians!