Saltar al contenido

GLOSARIO · BLOCKCHAIN & WEB3

Lenguaje Solidity

Lenguaje de programación utilizado para crear contratos inteligentes en Ethereum y otras blockchains compatibles con la EVM.

¿QUÉ ES? · PARA DUMMIES

Solidity es el lenguaje que usan los programadores para escribir las instrucciones que debe seguir una blockchain como Ethereum. Es como explicarle paso a paso qué hacer: quién puede enviar tokens, qué pasa si alguien compra un NFT, o cómo votar en una DAO. Lo que se escribe en Solidity se convierte en reglas automáticas que no se pueden cambiar después de activarlas.

¿QUÉ ES? · PRO

Solidity es un lenguaje de programación de alto nivel, orientado a contratos, desarrollado específicamente para escribir smart contracts que se ejecutan en la Ethereum Virtual Machine (EVM). Tiene un sistema de tipado estático, soporte para herencia, eventos, interfaces y estructuras de control similares a JavaScript o C++, y está diseñado para facilitar la creación de aplicaciones descentralizadas (dApps) con lógica autónoma y resistente a la censura.

Solidity permite definir funciones, estructuras de datos, mapeos, condiciones y flujos de ejecución que, una vez compilados y desplegados, se ejecutan de forma determinista sobre la blockchain. Es el lenguaje más adoptado para desarrollar contratos que gobiernan tokens (ERC-20, ERC-721, ERC-1155), DAOs, marketplaces NFT, protocolos DeFi y sistemas de identidad digital. La interacción con contratos escritos en Solidity puede hacerse directamente desde wallets, dApps o scripts backend, utilizando bibliotecas como web3.js, ethers.js o herramientas como Hardhat, Truffle o Foundry.

Una de las características más críticas de Solidity es que todo el código desplegado es público, inmutable y permanente, lo que requiere una atención rigurosa en auditoría, pruebas y buenas prácticas de desarrollo. Solidity ha evolucionado rápidamente con nuevas versiones que introducen mejoras de seguridad, eficiencia y legibilidad del código, así como herramientas de depuración, tipos personalizados, funciones inmutables, y compatibilidad con ensamblado inline (Yul).

Su dominio es esencial para cualquier desarrollador que quiera construir sobre Ethereum o cualquier otra red compatible con EVM como Polygon, Arbitrum, Optimism o BNB Chain, ya que define la lógica central de todo contrato autónomo en el ecosistema Web3.

01 / Puntos clave

  • Es el lenguaje más usado para escribir smart contracts en Ethereum
  • Tiene sintaxis similar a JavaScript pero con lógica de contrato inmutable
  • Se ejecuta en la Ethereum Virtual Machine (EVM)
  • Permite crear tokens, dApps, DAOs, protocolos DeFi, NFTs y más
  • Requiere auditorías y testing riguroso por su carácter irreversible

02 / Ventajas

  • Estándar de la industria para desarrollo sobre Ethereum y redes compatibles
  • Amplio ecosistema de herramientas y librerías (Hardhat, OpenZeppelin, Foundry)
  • Flexible y potente: permite desarrollar desde contratos simples hasta arquitecturas modulares complejas
  • Fácil de aprender si ya se domina JavaScript o C++
  • Constante evolución y mejora del lenguaje y su documentación oficial

03 / Desventajas

  • Propenso a errores de seguridad graves si no se programa con buenas prácticas
  • Curva de aprendizaje técnica si se parte desde cero sin experiencia en programación
  • El código desplegado es irreversible, lo que aumenta el riesgo de bugs en producción
  • Costes por ejecución: cada línea mal optimizada incrementa el uso de gas en mainnet
  • Algunas características avanzadas (como delegaciones o upgradeability) requieren patrones complejos