Sabemos que a veces, empezar a programar puede ser algo tedioso porque hay instalar algunos programas y hacer largas configuraciones, pero con Solidity, ¡olvídate de todo eso!
Gracias al entorno de desarrollo oficial de la Blockchain de Ethereum, Remix IDE, vas a poder programar, compilar y desplegar tus contratos únicamente accediendo a una página web desde tu navegador.
Remix IDE ofrece un conjunto de características que hacen que el desarrollo de contratos inteligentes sea más fácil y eficiente, como la sintaxis resaltada, la depuración, las pruebas integradas, la integración con herramientas de análisis de seguridad, entre otras. Además, Remix IDE proporciona una interfaz de usuario intuitiva y fácil de usar, lo que permite a los desarrolladores crear y editar contratos inteligentes sin tener que configurar un entorno de desarrollo complicado.
Todo esto es genial y por eso, para haceros la vida un poco más fácil, en este artículo os traemos un pequeño tutorial sobre cómo usar todas las herramientas de Remix IDE que necesitáis para empezar a programar vuestros primeros smart contracts.
En primer lugar, tenéis que entrar al siguiente link para acceder a la plataforma. remix-project.org
Una vez dentro, veréis algo así.
Para acceder al entorno de desarrollo online, únicamente tenéis que pulsar en Remix Online IDE.
Cuando accedáis, veréis esto.
Como veis, tenemos a la izquierda un explorador de archivos con varias carpetas. Remix permite crear diferentes espacios de trabajo aquí. Nosotros recomendamos dividir los diferentes ejercicios o desarrollos en espacios de trabajo diferentes para tenerlo todo más organizado. Para crear un espacio de trabajo sólo tenéis que pulsar en el icono ‘+’ que aparece junto a 'WORKSPACES'.
Puedes elegir el nombre que quieras para tu nuevo Workspace. Una vez lo tengas, pulsas en ‘OK’, y ¡listo!
Como veis, se crean por defecto tres carpetas: ‘contracts’, ‘scripts’ y ‘tests’. Cada una con varios archivos.
En la carpeta ‘contracts’, tenemos tres archivos con extensión ‘.sol’. Son tres contratos inteligentes muy sencillos, que Remix nos deja para practicar. Si tenéis algunas nociones de programación, os recomendamos que le echéis un ojo, porque son ideales para empezar a aprender Solidity.
En la carpeta ‘scripts’ tenemos varios ejemplos sobre cómo desplegar un contrato utilizando librerías como ‘web3’ o ‘ethers’, en Typescript.
En la carpeta ‘tests’ también tenemos varios ejemplos sobre como hacer testing con Solidity y con JavaScript.
Para las pruebas de este tutorial, vamos a utilizar únicamente el contrato ‘1_Storage.sol’ de la carpeta de ‘contracts’.
Seleccionamos el contrato ‘1_Storage.sol’. En este smart contract lo único que se hace es guardar en la blockchain una variable numérica. Y únicamente vamos a tener, una variable para guardar este valor, y dos funciones. Una para cambiar este valor, y otra para consultarlo.
Lo que vamos a hacer ahora es compilar este contrato. Para ello tenemos que ir al menú de la izquierda y pulsar el icono que se encuentra justo debajo de la lupa.
En este menú lo primero que vamos a encontrar es un desplegable con todas las versiones de compilador disponibles.
El compilador en Solidity es tremendamente importante, porque es un lenguaje de programación que se encuentra en continua evolución y mejora. Así que cada poco tiempo van saliendo nuevas versiones.
¿Quiere decir esto que si usamos una versión de compilador ‘antigua’, nuestro contrato no sirve?
¡NO! Para nada.
Simplemente, hay que asegurarse de elegir la versión adecuada a la hora de compilar nuestro contrato.
Para compilar el contrato, lo único que hay que hacer es pulsar el botón azul (Compile 1_Storage.sol), o también se puede hacer directamente con ‘Ctrl+S’.
Si todo ha ido bien, veremos este pequeño tick verde junto al icono del menú,
Sí, por el contrario, hay algún error, veremos este círculo rojo dentro e indicando el número de errores. Remix también se indica en qué línea de código está el fallo.
Una vez que tenemos el contrato bien compilado, el siguiente paso sería desplegarlo. Para ello tenemos que volver al menú de la izquierda y pulsar en el icono que se asemeja a un triángulo. Justo debajo del que acabamos de usar.
Aquí lo que podemos ver es el entorno o el Enviroment. En este caso vamos a utilizar el que viene por defecto, pero existen más. De hecho, es posible utilizar frameworks como Hardhat y también wallets como Metamask. Después tenemos una batería de cuentas con un saldo ficticio de 100 ethers para poder desplegar y hacer pruebas con nuestros contratos.
En Ethereum, cada acción lleva asociada una comisión, medida en unidades de Gas, así que este saldo nos sirve para optimizar este gasto lo máximo posible.
Lo siguiente sería desplegar el contrato. Para ello, pulsamos el botón naranja en el que pone ‘Deploy’. Si todo ha ido bien, veremos que se nos ha desplegado un contrato.
Como veis, aquí tenemos dos botones. Estos botones nos van a servir para probar todas nuestras funciones. Si os fijáis, los botones llevan el mismo nombre que las funciones.
> El primer botón, vamos que se llama ‘store’. Esta es la función que nos permitía cambiar el valor de la variable numérica. De hecho, el botón es naranja precisamente por eso, porque la función cambia el valor de los datos en la blockchain.
> El botón azul simplemente es para consultar el valor, y es de ese color porque no modifica datos en la cadena de bloques.
Si hacemos una pequeña prueba de guardar un valor (por ejemplo 7) y consultarla después, vemos que todo funciona a la perfección.
Justo al final de la página, lo que vemos es un terminal. Aquí vamos a poder ver si las transacciones que estamos enviando a la blockchain a la hora de ejecutar las funciones, salen bien o no.
Además, también vamos a poder consultar toda la información de la transacción si desplegamos la flechita que aparece a la derecha.
Como veis, podemos consultar el hash de la transacción, la dirección que manda la transacción y el coste en gas. Esta información es muy útil a la hora de desarrollar porque nos va a servir para poder optimizar lo máximo posible el coste de gas.
Másterclass sobre Desarrollo Blockchain de ConquerBlocks
Si después de ver este tutorial, te ha picado el gusanillo del desarrollo blockchain, ¡estás de suerte!
Si pulsas el siguiente link, vas a tener acceso a una masterclass completamente gratuita, dónde te explicamos cómo convertirte en desarrollador blockchain, uno de los trabajos más demandados y que más pagan en la actualidad.
➡️ Pulsa aquí para acceder a la Masterclass gratuita de Desarrollo Blockchain de ConquerBlocks
Vídeo del artículo: