Solidity es un lenguaje de programación orientado a contratos diseñado para compilarse en código de bytes EVM. Un contrato inteligente es un código implementado en cadena que puede mantener un estado persistente y reaccionar a llamadas externas. La sintaxis de Solidity define: (1) el control de versiones del compilador a través de pragma, (2) la estructura del contrato (variables de estado, funciones, eventos, modificadores) y (3) la interfaz entre las transacciones fuera de la cadena y la ejecución dentro de la cadena a través de firmas de funciones.
Pragma y determinismo de compilación.