La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.
Solidity utiliza un esquema de versiones semántico y, en el momento de escribir este artículo, la última versión es 0.8.9. Como puede ver, el lenguaje usa un formato semántico de control de versiones XYZ, que indica qué tan rápidos son sus cambios.
Los lenguajes de programación como C ++ y JavaScript inspiraron el lenguaje Solidity. En esta guía, verá cómo puede escribir y compilar su primer contrato inteligente.
El editor de remezclas
Hay muchos editores de texto y compiladores que puede usar para escribir código Solidity, pero el más fácil es Remix . Remix es un IDE en línea que le permite escribir y depurar su código Solidity. Cuando visite Remix por primera vez, debería ver una página de destino similar a la que se muestra a continuación.
Escribiendo su primer contrato inteligente
Primero, haga clic en el icono Crear nuevo archivo en la pestaña Exploradores de archivos. El icono parece una página de papel con una esquina doblada. Denomine el nuevo archivo helloWorld.sol . Utilice la extensión .sol para mostrar que el archivo contiene código de solidez.
Ahora puede copiar el código a continuación en su nuevo archivo. A continuación se incluye una explicación para cada línea.
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.1; contract FirstContract { uint var1; function set(uint x) public { var1 = x; } function get() public view returns (uint) { return var1; } }
La primera línea muestra la licencia bajo la cual alguien puede usar y distribuir el software. El código del ejemplo anterior usa la GPL versión 3.0 . Puede reemplazar esto con cualquier otra licencia como la licencia MIT .
La segunda línea muestra una directiva pragma que le dice al compilador que use cualquier versión de Solidity de 0.8.1 a 0.9.0 pero sin incluir 0.9.0. Es decir,> = 0.8.1 a <0.9.0. = "">
También es importante incluir esta línea para evitar incompatibilidades entre su código y la versión del compilador.
Relacionado: ¿Qué es la solidez y cómo se usa para desarrollar contratos inteligentes?
Por lo general, hay cambios menores, o parches, dentro de las versiones xy Z. Los cambios importantes normalmente están presentes en x. Versiones Y .z. Es por eso que la directiva pragma no incluye la versión 0.9.0 en el código anterior.
Solidity es un lenguaje orientado a objetos. La palabra clave de contrato en la línea cuatro es similar en uso a la palabra clave de clase en otros lenguajes orientados a objetos.
Los contratos pueden contener funciones, variables de estado y otros tipos avanzados. El contrato FirstContract contiene un entero sin firmar ( unidad ) llamado var1 .
Las dos funciones llamadas set () y get () son funciones setter y getter, respectivamente, para la variable var1 . Puede definir una función con la palabra clave function seguida del nombre de la función y paréntesis.
Entre paréntesis, puede declarar los parámetros que tomará su función. Debe escribirlos de manera similar a las definiciones de variables: indique el tipo de datos seguido del nombre del parámetro.
Relacionado: ¿Qué es Monero y cómo protege su privacidad?
Observe que las definiciones de las funciones set () y get () contienen la palabra clave public . Este declara que cualquier otro contrato puede llamarlos.
Compilar e implementar
Para compilar su código, haga clic en el botón del compilador Solidity . Cuando pasa el cursor sobre los botones del lado izquierdo del editor, debería poder ver el nombre del botón.
Ahora haga clic en el botón que dice Compilar helloWorld.sol . Si el compilador no encuentra ningún error, entonces habrá compilado con éxito su primer contrato inteligente.
Para implementar su código, haga clic en el botón Implementar y ejecutar transacciones . Este botón está justo debajo del botón del compilador Solidity en el menú de la izquierda. Mientras esté en esta página, asegúrese de que el nombre de su contrato se muestre correctamente sobre el botón Implementar .
Una vez confirmado, ahora puede hacer clic en Implementar para ejecutar su código en la red de prueba local actual, sin tarifas de transacción.
Creación de DApps en la red Ethereum
Después de aprender a crear contratos inteligentes, su próxima parada debería ser aprender a crear aplicaciones descentralizadas (DApps). Estas son aplicaciones basadas en blockchain que se ejecutan en una red sin permisos. Esta es la belleza de los contratos inteligentes de Ethereum.
Tendrá la capacidad de crear potentes aplicaciones P2P en Ethereum.