Ya está disponible el framework MVC para WordPress! Puedes echarle un ojo aquí!

Tutorial de Solidity: Guía Definitiva

Solidity

En esta guía aprenderás a programar con Solidity, que es el lenguaje de programación que se utiliza principalmente para crear Smart Contracts en la Blockchain de Ethereum. Sin embargo, Solidity también se usa en muchas otras Blockchains, como por ejemplo la Binance Smart Chain o las Blockchain de Tron.

Información! Esta guía todavía se encuentra en desarrollo y se irá completando en los sucesivos días. La guía se centra en el aprendizaje y en la sintaxis de Solidity. Sin embargo, una vez terminada, os enseñaré a crear un proyecto real con Solidity. Este proyecto podría ser un DEX o una Wallet. Iré agregando una o más guías por semana.

Para estar al día, recuerda seguirme en Twitter 😉

Introducción

En esta guía no nos centraremos inicialmente en la creación de un proyecto, sino en al sintaxis y uso de Solidity. Si echas un ojo a la sintaxis del lenguaje podría parecerte similar a Solidity. Sin embargo, las diferencias  son tremendas. En el siguiente ejemplo puedes observar un Hola Mundo, que es la aplicación más sencilla que podrías crear:

pragma solidity ^0.8.10;

contract HolaMundo {
    string public saludo =  "Hola Mundo!";
}

Podría date la impresión de que debido a la similitud de su sintaxis con JavaScript, podrías ponerte a programar con Solidity directamente. Sin embargo, solamente se parecen en su sintaxis más básica, ya que las reglas de Solidity son muy diferentes.

En esta guía aprenderás a programar con Solidity desde cero. Sin embargo, es más que recomendable que conozcas algún otro lenguaje de programación de antemano, ya que se harán referencias a estructuras o convenios comunes de otros lenguajes. Por ejemplo, no es recomendable que sigas este tutorial si nunca has programado con JavaScript. Si quieres puedes consultar antes la siguiente guía, aunque como digo, deberías haber creado al menos alguna aplicación:

A diferencia de otras guías en las que tienes con configurar tu entorno de programación, como por ejemplo alguna implementación de Ethereum o una Blockchain local, en esta guía usaremos el IDE Remix, que es un entorno de programación de Solidity que podrás usar desde tu navegador. De este modo podrás crear y desplegar contratos sin los problemas de configuración que podrían darse en tu entorno local.

Para usar Remix bastará con que visites esta URL. Remix incluye todo lo que necesitas, incluyendo cierta cantidad de ETH para usar a modo de Gas. No se trata de Ethereum real, pero te permitirá enviar transacciones a la Blockchain con la que se integra como si fuese la Blockchain real de Ethereum.

En esta guía aprenderás cuáles son los tipos de datos de Soldity, cuáles son los tipos de variables, cómo usar funciones, cómo interactuar con otros contratos, cómo enviar ETH e incluso algo de Solidity Assembly, que es el lenguaje de bajo nivel sobre el que funciona Solidity. Finalmente, también veremos cómo crear una Wallet e incluso cómo crear tu propio DEX con Solidity, JavaScript y HTML.

Entorno de programación

Para crear Smart Contracts con Solidity puedes usar un entorno de programación local, con la complejidad que conlleva. Es algo que veremos más adelante. Sin embargo, de entrada, lo más recomendable mientras aprendes la sintaxis de Solidity es que uses el IDE Remix, que es un entorno de programación online que te proporcionará todo lo que necesitas:

Par su configuración inicial, basta con que actives la opción de autocompilado.

Crea un Smart Contract

Si por ejemplo quieres crear un nuevo contrato con Remix, bastará con que hagas clic derecho en contracts y luego en New File. Luego introduce por ejemplo MiContrato.sol como nombre del contrato. El contrato estará inicialmente vacío.

Todo contrato debe comenzar con la sentencia pragma, que sirve para indicar el número de versión de Solidity que el compilador debe usar a la hora de compilar el contrato. Por ello, comenzaremos por indicar la versión de Solidity que usará el contrato mediante la sentencia pragma:

pragma solidity ^0.8.0;

Puedes obtener más información acerca de esta sentencia en el siguiente tutorial:

Luego crearemos el contrato en sí mismo mediante al sentencia contract, que irá seguida del nombre del contrato, que por convenio estará en notación Pascal Case:

pragma solidity ^0.8.0;

contract MiContrato {
    /* ... */
};

Puedes definir más contratos dentro de un mismo archivo, aunque no es recomendable si quieres mantener tus contratos organizados:

pragma solidity ^0.8.0;

contract MiContrato {
    /* ... */
};

contract MiContrato2 {
    /* ... */
};

Para compilar el contrato no tendrás que hacer absolutamente si has activado el autocompilado de Remix.

Sintaxis de Solidity

Continuará….


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.