GLOSARIO · BLOCKCHAIN & WEB3
Solidity
Lenguaje de programación principal para crear contratos inteligentes en EVM.
¿QUÉ ES? · PARA DUMMIES
Solidity es el idioma que los programadores usan para decirle a la blockchain qué hacer. Con él se escriben las reglas de los contratos inteligentes, que son como acuerdos que se cumplen automáticamente. Esas instrucciones son entendidas y ejecutadas por Ethereum y otras blockchains compatibles. Por ejemplo, se puede usar para crear una criptomoneda, vender un NFT o gestionar una votación online sin intermediarios.
¿QUÉ ES? · PRO
Solidity es un lenguaje de programación orientado a contratos, de tipado estático, con sintaxis inspirada en JavaScript, C++ y Python, diseñado para escribir smart contracts que se ejecutan sobre la Ethereum Virtual Machine (EVM). Fue propuesto por Gavin Wood y Christian Reitwiessner y se ha convertido en el lenguaje estándar para el desarrollo de contratos inteligentes en blockchains compatibles con EVM, como Ethereum, Polygon, Arbitrum, Optimism y BNB Chain.
Solidity permite declarar funciones, variables, eventos, estructuras, enumeraciones, modificadores, interfaces, herencia y visibilidad, facilitando el desarrollo de contratos complejos y modulares. Estos contratos gobiernan tokens (ERC-20, ERC-721, ERC-1155), protocolos DeFi, DAOs, marketplaces NFT, juegos Web3, sistemas de gobernanza y de identidad digital. El código Solidity es transpilado a bytecode y desplegado en blockchain, donde se ejecuta de forma determinista y permanente.
Además de la lógica empresarial, Solidity incluye herramientas específicas para blockchain como msg.sender, msg.value, require, revert, block.timestamp, y acceso a almacenamiento persistente (storage, memory, calldata). También soporta librerías externas como OpenZeppelin, mecanismos de actualización mediante proxies, contratos inmutables, control de roles y funciones avanzadas como delegatecall, selfdestruct o fallback.
El lenguaje es mantenido activamente por la Fundación Ethereum y evoluciona con mejoras de seguridad, eficiencia y funcionalidades (como enums, funciones inmutables, tipos personalizados o compilación Yul). El dominio de Solidity es fundamental para crear aplicaciones descentralizadas seguras, auditables y adaptadas a los requerimientos funcionales y legales del ecosistema Web3.
01 / Puntos clave
- Lenguaje creado para escribir contratos inteligentes en Ethereum y redes EVM
- Tiene una sintaxis parecida a JavaScript y C++
- Es de tipado estático y orientado a contratos
- Se utiliza para crear tokens, DAOs, NFTs, protocolos DeFi, etc.
- Su código, una vez desplegado, se vuelve inmutable y público
02 / Ventajas
- Estándar de la industria Web3 para el desarrollo sobre Ethereum
- Amplio ecosistema y soporte: compatible con herramientas como Hardhat, Truffle, Foundry
- Permite contratos complejos y modulares, con lógica avanzada
- Facilidad para auditar y testear con librerías y herramientas especializadas
- Interoperabilidad con librerías como OpenZeppelin y Chainlink
03 / Desventajas
- Alta sensibilidad a errores: un fallo puede implicar pérdida de fondos
- Curva de aprendizaje técnica si no se tiene experiencia previa en programación
- El código es irreversible una vez desplegado, lo que exige pruebas rigurosas
- Coste en gas elevado si no se optimiza correctamente
- Vulnerable a malas prácticas comunes (reentrancy, overflows, falta de checks)
CONCEPTOS RELACIONADOS
SIGUE APRENDIENDO
SERVICIOS RELACIONADOS