Resumen de las sentencias principales de Solidity
General

Todos los smart contracts empiezan con la sentencia

pragma solidity 0.5.1
Establece la versión de solidity
Contratos
contract miContrato { ...}
Define un contrato denominado miContrato
contract miContrato is contratoPadre
Define un contrato denominado miContrato que hereda de contratoPadre
interface miInterfaz
Define un interfaz denominado miInterfaz
Variables
this
Variable que hace referencia a la address del smart contract
constant
Define una constante
bool
Define una variable que puede ser verdadera o falsa
uint a
Define una variable de tipo entero con o sin signo. También se usa para cantidades, fechas, unidades de ether y unidades de tiempo
address
Define una variable de tipo address, que es una dirección de ethereum
msg
Variable que hace referencia al mensaje recibido por el smart contract
now
Variable que hace referencia a la fecha actual en formato unix
block
Variable que hace referencia a los datos del bloque
enum t
Permite definir tipos específicos definidos por el usuario
struct t
Permite definir tipos que agrupan varias variables
mapping(tipo clave => tipo valor)
Permite definir diccionarios
int[] a
Define un array
string
Define un string
Funciones
mifuncion internal
Define una función denominada mifuncion que es interna
mifuncion external
Define una función denominada mifuncion que es externa
mifuncion pure
Define una función denominada mifuncion que es pura
mifuncion constant
Define una función denominada mifuncion que es constante
mifuncion view
Define una función denominada mifuncion que es de tipo view
mifuncion payable
Define una función denominada mifuncion que puede recibir ether
mifuncion public
Define una función denominada mifuncion que es de tipo público
mifuncion private
Define una función denominada mifuncion que es de tipo privado
Eventos
event MiEvento(address participante)
Define un evento denominado MiEvento que recibe un parámetro de tipo address