Glosario cripto
Solidity
Solidity es el principal lenguaje de programación para escribir contratos inteligentes en Ethereum y otras cadenas EVM, con sintaxis inspirada en JavaScript.
Solidity es un lenguaje de tipado estático y orientado a contratos, propuesto por Gavin Wood en 2014 y desarrollado por la comunidad de Ethereum. Los desarrolladores escriben contratos con variables de estado, funciones y eventos, y los compilan en bytecode de la EVM que se despliega en la cadena. Su sintaxis resulta familiar para quien conoce JavaScript, C++ o Java.
Protocolos DeFi destacados como Uniswap y Aave están escritos en Solidity, igual que la mayoría de los tokens ERC-20 y ERC-721. Los desarrolladores prueban su código con herramientas como Hardhat y Foundry, reutilizan bibliotecas auditadas de OpenZeppelin y publican el código fuente verificado en los exploradores de bloques para que cualquiera pueda leerlo. Vyper es el principal lenguaje alternativo para la EVM.
Un pequeño error en Solidity puede salir caro, porque los contratos desplegados no suelen poder modificarse y a menudo custodian grandes sumas. Entre los fallos clásicos están la reentrada, las llamadas externas sin comprobar y los errores de control de acceso; desde la versión 0.8, los desbordamientos aritméticos revierten la transacción por defecto. Las auditorías reducen el riesgo, pero nunca lo eliminan.
Ejemplo
Un contrato de token básico en Solidity puede ocupar menos de 50 líneas si importa la implementación ERC-20 de OpenZeppelin, pero cada línea maneja fondos reales una vez desplegado.