Aunque la noción de un contrato inteligente se remonta a los años 90, Ethereum fue la primera plataforma en darse cuenta de su potencial y eliminar la necesidad de un tercero en virtud de su implementación.
Con Ethereum en el centro del escenario, el mercado de contratos inteligentes ha crecido cada vez más y se estima que crecerá hasta alcanzar un tamaño de mercado de 8300 millones de USD para 2030 . Obviamente, con los contratos inteligentes encontrando favor en proyectos en varias industrias, no debería sorprender que a los desarrolladores de contratos inteligentes se les pague bien, dado este aumento en la demanda.
Hablando de eso, la publicación de blog de esta semana presenta el tema de los contratos inteligentes, pero en un lenguaje al que la mayoría de los desarrolladores web pueden encontrar fácil la transición: estamos hablando de Solidity.
Si desea aprender a desarrollar contratos inteligentes, la opción ideal consiste en seleccionar un lenguaje que sea popular, fácil de aprender y que ofrezca un entorno de desarrollo de fácil acceso.
Por esta razón, la mayoría de los desarrolladores de contratos inteligentes comienzan con Solidity y, por lo tanto, el entorno de desarrollo integrado Remix es la primera herramienta con la que generalmente comienzan su viaje de desarrollo web3 . Para la mayoría, esta será la primera vez que utilicen un entorno de desarrollo, pero esto se hace sin esfuerzo ya que el IDE de Remix se puede configurar en cualquiera de los navegadores populares.
En un nivel básico, es importante tener en cuenta que cada contrato inteligente es un archivo .sol en virtud del lenguaje en el que está escrito: Solidez. Además, compilar el contrato requiere que seleccione qué versión desea usar. Ambas tareas de escribir y compilar su contrato inteligente deben realizarse antes de implementar su contrato inteligente en una Testnet o Mainnet.
Hablando de eso, es vital que pruebe su contrato inteligente en una Testnet antes de implementarlo en Mainnet. Al usar Remix, puede usar la red de prueba Goerli o Sepolia. Sin embargo, para esto, primero deberá conectar su billetera Web3 a Remix, preferiblemente usando la billetera Metamask.
Si no tiene idea de qué es Testnet, considérelo como un entorno en el que puede ejecutar su contrato con fondos falsos mientras evalúa si su contrato inteligente está listo para el mundo real a través de pruebas. En resumen, es una simulación de cómo funcionará el contrato inteligente antes de su implementación en Mainnet.
Por último, debe comprender que cada contrato inteligente, una vez implementado, se identifica con una dirección única. Por supuesto, puede mover fondos dentro y fuera de su contrato inteligente mediante cuentas de usuario ficticias que están disponibles en Remix. Además, también debe aprender todo lo que pueda sobre el pago de tarifas de gas y cómo se deduce de su cuenta a medida que escribe y ejecuta su primer contrato inteligente también.
Ahora, si desea escribir y compilar su primer contrato inteligente utilizando el IDE de Remix, hay cuatro íconos en el panel de íconos que debe aprender a usar:
Cada uno de estos cuatro iconos representa diferentes funciones sobre cómo usar el espacio de trabajo:
Seleccionar Explorador de archivos lo lleva al espacio de trabajo predeterminado, como se muestra a continuación:
Debería poder crear, modificar y eliminar carpetas y archivos de Solidity aquí. Cargar archivos a su espacio de trabajo, así como agregarlo a una esencia de Github, son opciones que también están disponibles.
El segundo ícono en el panel tiene la etiqueta Buscar en archivos, y le permite hacer precisamente eso. En este caso, buscamos el término de búsqueda 'máquina expendedora', cuyos resultados aparecen a continuación.
En cuanto a seleccionar la opción del compilador Solidity, se nos lleva a una pantalla, como se muestra a continuación:
Aquí puede seleccionar la versión del compilador y el contrato que desea compilar antes de presionar el botón azul, como se muestra arriba.
En cuanto al ícono final en el panel, a saber, Implementar y ejecutar transacciones, cubriremos cómo usar ese ícono en la próxima publicación de blog de esta serie.
Ahora, varios lenguajes populares de contratos inteligentes tienen una sintaxis similar a JavaScript, Python y Rust, lenguajes que ya son populares entre los desarrolladores experimentados.
Sin embargo, el que se destaca es Solidity, ya que la plataforma Ethereum continúa contratando desarrolladores a un ritmo uniforme, por lo que es mejor comenzar nuestro viaje con la implementación de un contrato inteligente de máquina expendedora que utilice este lenguaje. Puede copiar el código de contrato inteligente de la máquina expendedora desde esta página web de Ethereum .
Cabe señalar que el funcionamiento de una máquina expendedora es muy similar a cómo funcionan los contratos inteligentes. De hecho, los dos métodos 'recargar' y 'comprar', como puede ver en el contrato inteligente de la máquina expendedora, replican las acciones que el propietario de una máquina expendedora y sus compradores realizan en la vida real.
Ahora, navegue a su espacio de trabajo seleccionando el icono 'Explorador de archivos'. Abra un nuevo archivo .sol usando el icono Crear nuevo archivo, como se muestra a continuación:
Ahora, pegue el código de contrato inteligente de la máquina expendedora en ese archivo junto con el identificador de licencia SPDX, como se muestra a continuación:
Después de esto, es hora de compilar su primer contrato inteligente en Remix según la versión del compilador seleccionada en la declaración "pragma". Por supuesto, la depuración de errores también será parte de este proceso.
Ahora, una vez que hayamos agregado nuestro código de contrato inteligente a un archivo .sol en nuestro espacio de trabajo predeterminado, el siguiente paso es depurar su código. Como resultado de cero errores, compilará el contrato inteligente antes de implementarlo en Testnet.
Antes de comenzar, el atajo de teclado Ctrl + S compilará su contrato inteligente. Ahora, si la opción Solidity Compiler en el panel de íconos tiene una marca de verificación verde, ¡su código está listo para implementarse!
Por supuesto, no todo va según lo planeado. En la mayoría de los casos, habrá errores que tendrá que solucionar antes de tener éxito con su intento de compilar el código que ha escrito. El ícono de Solidity Compiler se verá así, donde '1' indica la cantidad de errores en su código:
Hablando de errores comunes, los principiantes tienden a no seleccionar la versión correcta del compilador que coincida con la elegida en la declaración de pragma del contrato inteligente, como se muestra a continuación:
Para solucionar esto, acceda al menú desplegable en la opción Solidity Compiler:
Cambie la versión del compilador a “0.8.7+commit.e28d00a7”, para obtener el siguiente resultado:
Otro error común consiste en cometer errores de sintaxis, como el que implica el mapeo de "cupcakeBalances":
Si aún no lo ha notado, el signo de exclamación rojo encerrado en un cuadro rojo indica la declaración que tiene un error. En este caso, una vez que corrige el error tipográfico agregando una "k" y presiona Ctrl + S, ese signo desaparece.
Con una resolución de estos dos errores simples, también encontrará una marca de verificación verde que aparece con el icono de Solidity Compiler. Claramente, ha compilado con éxito su primer contrato inteligente.
Entonces, ahora es el momento de implementar su contrato inteligente en Testnet, pero esto se tratará en una futura publicación de blog.
Dicho esto, estamos creando un metaverso centrado en el desarrollador para que aprenda más sobre el desarrollo de Web3 y desarrolle sus habilidades.
Regístrese para unirse a la lista blanca de Lumos Metaverse para obtener acceso exclusivo: