¿Qué es Solidity?
Escrito por Alchemy
A medida que crece la industria de web3, los desarrolladores tienen cada vez más opciones de lenguajes de programación para web3. Cada lenguaje está diseñado con distintos beneficios y compensaciones para escribir smart contracts. Los lenguajes pueden diferir en cuanto a las blockchains específicas que soportan, o tener características distintas como velocidad, legibilidad o seguridad.
Desarrollado como el lenguaje de smart contracts para la blockchain de Ethereum, Solidity es un lenguaje de programación potente que se utiliza para crear aplicaciones descentralizadas para el ecosistema de desarrolladores más grande de la industria blockchain.
En este artículo, presentaremos una introducción a Solidity a través de su historia, sus influencias como lenguaje y sus usos. Al final, ofreceremos algunos de los mejores recursos para desarrolladores para seguir aprendiendo, como cursos gratuitos de Solidity y recursos para aprender desarrollo en web3.
¿Qué es Solidity?
Propuesto en 2014, Solidity es un lenguaje de programación de alto nivel y orientado a objetos para implementar smart contracts que se ejecutan en la** Ethereum Virtual Machine (EVM)**. Solidity está inspirado en lenguajes de programación conocidos como C++ y JavaScript. Como desarrollador de web3, trabajar con Solidity es útil para aprender desarrollo en web3.
Esta sección te presenta la historia de Solidity, establece similitudes entre Solidity y otros lenguajes de programación, y explica los principales casos de uso de Solidity.
¿Quién creó Solidity?
En 2014, el CTO de Ethereum, Gavin Wood, ideó Solidity como un lenguaje que satisficiera la necesidad de Ethereum de contar con un lenguaje de programación Turing-completo para escribir smart contracts.
El fundador de Ethereum, Vitalik Buterin, propuso Ethereum como un protocolo que extendería la funcionalidad de blockchain pionera de Bitcoin, con la funcionalidad adicional de smart contracts. En su visión, Ethereum podría ejecutar una red elaborada de smart contracts, que son fragmentos de código que se ejecutan condicionalmente en una red distribuida y global de computadoras. Los smart contracts permiten a los desarrolladores crear nuevas criptomonedas, construir apps de DeFi y mucho más.
El equipo del proyecto Solidity fue liderado por Christian Reitwiessner, y lograron crear un lenguaje de programación orientado a objetos y Turing-completo para implementar smart contracts. Ser un lenguaje de alto nivel significa que los desarrolladores crean smart contracts sin tener que manipular información a nivel de sistema, como memoria o bytecode, para realizar cálculos.
La Turing-completitud se refiere a la capacidad de un sistema de manipulación de datos, en este caso un lenguaje de programación, de simular el comportamiento de una máquina de Turing. En teoría, Solidity debía ser capaz de realizar cualquier cálculo que los desarrolladores pudieran requerir de él.
¿En qué lenguajes de programación se basa Solidity?
Solidity se basó e influyó en múltiples lenguajes de programación existentes durante su desarrollo, incluyendo C++, Python y JavaScript.
Similitudes de Solidity con C++
Solidity usa una sintaxis idéntica a la de C++ para las declaraciones de variables y los bucles for. Además, existe soporte para la sobrecarga de funciones al estilo de C++, que se necesita cuando dos funciones tienen el mismo nombre pero difieren en los parámetros que aceptan.
Finalmente, Solidity permite tanto la conversión de tipos implícita como explícita. Esto significa que los tipos de variables pueden convertirse mediante código explícito del desarrollador o convertirse automáticamente si un cálculo lo requiere.
Similitudes de Solidity con JavaScript
Solidity solía estar fuertemente influenciado por JavaScript. Ahora, la principal similitud visible está en el uso que hace Solidity de la palabra clave "function" para definir funciones.
Para los desarrolladores familiarizados con algunas de las mayores influencias de Solidity, conocer Solidity será bastante sencillo. Además, Solidity es de tipado estático, permite el uso de librerías y también la creación de tipos complejos.
Similitudes de Solidity con Python
La influencia de Python en Solidity es menos evidente en términos de sintaxis; sin embargo, al igual que Python, Solidity usa linealización C3, herencia múltiple y mantiene la palabra clave "super".
Usando una sintaxis pythonica, Vyper es similar a Solidity, y está diseñado a propósito para aumentar la seguridad de los smart contracts usados en blockchains compatibles con EVM.
¿Cómo se usa Solidity?
Debido a su naturaleza como lenguaje de programación para blockchain, Solidity fue creado expresamente para compilarse en la Ethereum Virtual Machine (EVM). Como tal, Solidity puede escribir smart contracts seguros y compatibles con Ethereum, para cualquier blockchain compatible con EVM.
Esta amplia compatibilidad, sumada a su facilidad de comprensión y funcionalidad flexible, ha llevado a que Solidity sea el lenguaje de desarrollo blockchain más usado en la industria.
¿Cómo funciona Solidity?
Los desarrolladores de Solidity escriben smart contracts, que son programas que se ejecutan en la EVM. De forma similar a las clases en otros lenguajes, los smart contracts pueden tener múltiples funciones, estados internos y declaraciones públicas.
Los contratos de Solidity son compilados a bytecode para que la EVM pueda leerlos. Después de la compilación, los contratos de Solidity no se verán diferentes de aquellos escritos en otros lenguajes de smart contracts para la EVM, como Vyper o Huff.
Como cualquier otra herramienta de desarrollo, Solidity pasa por actualizaciones de versión regulares. Ten en cuenta que, dado que los smart contracts se implementan una sola vez y son irreversibles una vez que se unen a la blockchain, las restricciones de versión de Solidity solo importan en el momento de la creación.
Si bien los desarrolladores de Solidity podrían, en teoría, escribir smart contracts de Ethereum directamente en bytecode, los lenguajes de alto nivel como Solidity permiten a los ingenieros escribir contratos de forma más eficiente sin manipulación de bajo nivel.
¿Cómo interactúa Solidity con la EVM?
A continuación se resume cómo funciona Solidity para cambiar el estado de la EVM:
- Escribir smart contracts en Solidity
- Los smart contracts en Solidity se compilan a bytecode
- El bytecode se convierte en opcodes de la EVM
- Los opcodes de la EVM alteran el estado de la EVM
La EVM es una máquina de estado virtual y registro de la "computadora global" de Ethereum. En términos simples, la EVM mantiene el estado global de la red, que incluye direcciones, saldos de cuentas y tenencias de tokens.
Los smart contracts de Solidity se escriben para realizar cambios en el estado global de la EVM. El estado global de la EVM se cambia mediante acciones como acuñar tokens, enviar y recibir tokens, o liberar activos.
Un conjunto de operaciones de la EVM, codificadas en opcodes de la EVM, provocan estos cambios en el estado global. Cada opcode de la EVM está diseñado para hacer que la EVM realice un tipo específico de cambio de estado, como enviar tokens de una dirección a otra, acuñar tokens, o incluso destruir smart contracts.
En el último paso, la EVM traduce el bytecode del smart contract en opcodes de la EVM, los cuales realizan los cambios necesarios en la blockchain.
Cada opcode tiene asociado un gas fee, cobrado en ETH para mitigar el riesgo de que un actor malicioso sature la red con una cantidad desmedida de solicitudes. El costo total de gas de una transacción se calcula, entonces, como el precio por unidad de gas multiplicado por el costo total de gas de los opcodes de la transacción.
¿Qué blockchains compatibles con EVM soportan Solidity?
Solidity puede escribir smart contracts para cualquier blockchain compatible con EVM, incluyendo L2s como Polygon, Arbitrum y Optimism. Dado que Solidity es flexible y fácil de usar, es soportado por una gran cantidad de otras blockchains. Estos son algunos de los proyectos más grandes que soportan Solidity:
1. Polkadot
Polkadot es una chain enfocada en integrar múltiples blockchains (es decir, parachains) en una sola chain usando una relay chain. El objetivo de Polkadot es que las parachains sean interoperables para permitir escalabilidad y aumentar el ancho de banda. Un ejemplo de una parachain de Polkadot es Astar, que es soportada por Alchemy.
2. Avalanche
Avalanche es un competidor de Ethereum que soporta desarrollo en Solidity. La arquitectura de Avalanche se basa en una red de tres blockchains: una para emitir e intercambiar activos (X Chain), una para coordinar los validadores de la red (P-Chain), y una que permite la creación de smart contracts (C Chain).
3. BNB chain (anteriormente Binance smart chain)
Binance Smart Chain comenzó como un token ERC-20 en Ethereum, y para soportar su creciente ecosistema de apps, se creó la red Binance Smart Chain (BSC). BSC y sus tokens usan Solidity en sus smart contracts. Hoy en día, Binance Smart Chain se llama BNB Chain.
¿Qué tan popular es Solidity?
Solidity es el lenguaje de programación para smart contracts más popular de la industria blockchain. Solidity es el lenguaje nativo para crear smart contracts compatibles con EVM. Incluso fuera de la EVM, hay proyectos que tienen soporte incorporado para la Virtual Machine de Ethereum, como el Solana EVM de Neon Labs.
Dado que la industria blockchain todavía está creciendo, puede parecer que Solidity se usa menos en comparación con otros lenguajes de programación. Sin embargo, dentro de la industria, Solidity es el lenguaje de smart contracts más ampliamente aplicable. Solidity tiene casos de uso sólidos en muchas chains y en los ecosistemas de dApps de web3 de más rápido crecimiento.
Según un informe de Hard Fork de The Next Web, Solidity aparece en el doble de preguntas etiquetadas como blockchain que su competidor más cercano. JavaScript tiene solo el 4.8% del volumen en comparación con el 9.5% de Solidity.
¿Cómo se usa Solidity en Ethereum?
Ver algunos ejemplos del uso de Solidity en Ethereum te dará una buena idea de la simplicidad del código de Solidity para crear smart contracts flexibles. Los ejemplos de código que se encuentran en la documentación oficial de Solidity son una excelente introducción al lenguaje.
Smart contracts
El siguiente es un ejemplo de código simple de la documentación de Solidity que crea una moneda simple en Ethereum.

Observa las declaraciones de funciones, y las variables privadas y públicas del contrato. Las funciones permiten que el contrato realice distintas acciones on-chain, en este caso enviar tokens de una dirección a otra, y acuñar tokens.
Las variables públicas son accesibles desde fuera del contrato y generan automáticamente funciones getter para obtener el valor de esas variables. La palabra clave event permite que las aplicaciones cliente escuchen los cambios provocados por el contrato.
En este ejemplo, un cliente vería el evento sent, que indica a un listener que la dirección msg.sender envió una cantidad (amount) de tokens a la dirección receiver.
¿Qué son los estándares ERC de Solidity?
En la base del diseño de los smart contracts de Solidity están los estándares ERC (Ethereum Request for Comment), que son lineamientos creados para mejorar y estandarizar las implementaciones de distintos tipos de tokens de Ethereum.
Los estándares ERC se proponen mediante EIPs (Ethereum Improvement Proposals). Una vez que los estándares ERC son aprobados y finalizados, se convierten en un estándar para escribir contratos en Solidity. Esto permite una plantilla común de interfaz de Solidity para construir smart contracts. Cuando los desarrolladores de Solidity construyen tokens que cumplen con los estándares ERC existentes, saben cómo se comportarán sus tokens correctamente en la blockchain.
Algunos de los estándares ERC más utilizados son:
- ERC-20 - estándar de tokens fungibles
- ERC-721 - estándar de tokens no fungibles
- ERC-1155 - estándar de tokens semi-fungibles
- ERC-4626 - estándar de vaults que generan rendimiento
Cómo aprender programación en Solidity
Ya sabes qué es Solidity, pero ¿cómo empiezas a aprenderlo? Al ser el lenguaje de smart contracts más popular, hay una gran cantidad de recursos disponibles en línea para comenzar a aprender desarrollo en Solidity.
Una de las mejores formas de aprender Solidity es con el bootcamp de Solidity de 7 semanas de Alchemy University, que fue creado originalmente por ChainShot, un equipo líder de ingenieros de web3, y rediseñado por Alchemy después de que adquiriera ChainShot en agosto de 2022.
El bootcamp de desarrolladores de Ethereum originalmente era un curso de certificación de $3,000, y ahora es GRATIS. Asegura tu lugar en la fila para unirte a Alchemy University.
Recursos de Solidity
Esta sección te ofrece algunos de los mejores recursos en línea para aprender desarrollo en Solidity.
- Documentación oficial de Solidity: úsala como tu recurso principal para aprender desarrollo en Solidity.
- Solidity by Example: una recopilación de ejemplos de Solidity que van desde un programa de "Hello World" hasta aplicaciones de wallets y DeFi.
- Clean Contracts: una guía sobre cómo escribir smart contracts seguros y predecibles con ejemplos de código en Solidity.
- Ethernaut de OpenZeppelin: un juego de guerra basado en smart contracts donde cada nivel consiste en hackear un smart contract.
Empieza a construir con Solidity
Este artículo te presentó a Solidity y te ofreció recursos para comenzar a aprender desarrollo en Solidity. Solidity es un lenguaje extremadamente flexible y potente para desarrollar aplicaciones descentralizadas en Ethereum y en blockchains compatibles con EVM.
Una vez que te sientas cómodo con tus conocimientos, no dudes en implementar una aplicación en la testnet Sepolia, asistir a un hackathon de web3, ¡y empezar a intentar construir una startup de web3!
Resúmenes relacionados
Solidity3 de diciembre de 2025
Los 6 mejores IDEs de Solidity para desarrolladores (2026)
Explora los mejores IDEs para el desarrollo en Solidity.
Solidity19 de noviembre de 2025
Optimización de gas en Solidity: 12 técnicas para hacer tus smart contracts más económicos y eficientes
¿Quieres escribir mejor código y reducir tus fees de gas?
Solidity13 de noviembre de 2025
12 mejores prácticas de seguridad para smart contracts en Solidity
Protege tus smart contracts con estos consejos y herramientas de seguridad de expertos.

Construye magia blockchain
Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.