Solidez - Sintaxis básica

Los archivos de origen de Solidity pueden contener cualquier número de definiciones de contrato, directivas de importación y directivas pragma.

Comencemos con un archivo fuente simple de Solidity. A continuación se muestra un ejemplo de un archivo Solidity:

pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
   uint storedData;
   function set(uint x) public {
      storedData = x;
   }
   function get() public view returns (uint) {
      return storedData;
   }
}

Pragma

La primera línea es una directiva pragma que indica que el código fuente está escrito para la versión 0.4.0 de Solidity o cualquier otra versión más reciente que no rompa la funcionalidad hasta la versión 0.6.0, pero sin incluirla.

Una directiva pragma siempre es local a un archivo fuente y si importa otro archivo, el pragma de ese archivo no se aplicará automáticamente al archivo de importación.

Entonces, un pragma para un archivo que no se compilará antes de la versión 0.4.0 y tampoco funcionará en un compilador a partir de la versión 0.5.0 se escribirá de la siguiente manera:

pragma solidity ^0.4.0;

Aquí la segunda condición se agrega usando ^.

Contrato

Un contrato de Solidity es una colección de código (sus funciones) y datos (su estado) que reside en una dirección específica en Ethereumblockchain.

La línea uintstoredData declara una variable de estado llamada storedData de tipo uint y las funciones set y get se pueden usar para modificar o recuperar el valor de la variable.

Importación de archivos

Aunque el ejemplo anterior no tiene una declaración de importación, Solidity admite declaraciones de importación que son muy similares a las disponibles en JavaScript.

La siguiente declaración importa todos los símbolos globales de "nombre de archivo".

import "filename";

El siguiente ejemplo crea un nuevo símbolo global symbolName cuyos miembros son todos los símbolos globales de "filename".

import * as symbolName from "filename";

Para importar un archivo x desde el mismo directorio que el archivo actual, use importar "./x" como x ;. Si usa importar "x" como x; en su lugar, se podría hacer referencia a un archivo diferente en un "directorio de inclusión" global.

Palabras clave reservadas

Las siguientes son las palabras clave reservadas en Solidity:

resumen después alias aplicar
auto caso captura copia de
defecto definir final inmutable
implementos en en línea dejar
macro partido mudable nulo
de anular parcial promesa
referencia reubicable sellado tamaño de
estático apoya cambiar tratar
typedef tipo de desenfrenado