Puntos clave
- Solidity define contratos que ejecuta la EVM.
- ABI, compilador y dependencias deben corresponder a cada despliegue.
- Permisos y actualizaciones requieren pruebas además del uso de librerías.
¿Qué es Solidity?
Solidity es un lenguaje para definir programas que se ejecutan en la Ethereum Virtual Machine. Un contrato puede registrar saldos, comprobar autorizaciones o aplicar reglas de intercambio que los participantes verifican en la red. El lenguaje permite expresar esas reglas, pero el derecho asociado a un token depende también del emisor y de la documentación del producto.
Su ecosistema incluye compiladores, librerías de estándares, herramientas de pruebas y exploradores. Para una empresa, esa base facilita integrar contratos con wallets y sistemas existentes sin tener que diseñar cada interfaz desde cero.
Cómo funciona
El compilador produce bytecode y un ABI: la descripción que utilizan las aplicaciones para llamar a las funciones del contrato. Las operaciones consumen gas según las reglas de la red y el estado accedido. El coste final depende del gas utilizado y de las tarifas; no es una cantidad fija por función ni se paga siempre en ETH en todas las redes EVM.
El diseño separa almacenamiento, funciones públicas, eventos y permisos. Una transferencia debe actualizar el estado de manera coherente incluso cuando interactúa con otro contrato que puede ejecutar código inesperado. Por eso se revisan reentrancia, límites y llamadas externas.
Qué aporta Solidity
Solidity encaja en tokens, acuerdos de depósito, gobernanza y procesos de liquidación con reglas compartidas. Por ejemplo, un contrato de distribución puede permitir que una cuenta publique asignaciones y que cada beneficiario retire únicamente su importe. La aplicación explica la operación; el contrato comprueba quién puede ejecutarla y qué saldo queda disponible.
Antes de desplegar, conviene escribir las propiedades del sistema: quién puede emitir, qué condiciones bloquean una transferencia y cómo se recupera una operación fallida. Esas propiedades orientan las pruebas unitarias, las secuencias de pruebas y la revisión independiente del código y sus dependencias.
Limitaciones y criterios de elección
La compatibilidad EVM facilita reutilizar código, pero cada despliegue exige comprobar versión de la máquina virtual, oráculos, direcciones de contratos externos y modelo de comisiones. Un contrato que compila puede fallar al integrarse en otra red o depender de componentes que allí no existen.
También hay que decidir si será actualizable. Un proxy permite cambiar la implementación, pero introduce permisos y compatibilidad de almacenamiento que deben revisarse. La elección entre contrato inmutable y actualizable depende de los cambios previstos y de quién asume la administración. Una auditoría aporta evidencia sobre un alcance y una versión; no garantiza ausencia de errores futuros.
También conocido como
- Solidity language
- Lenguaje de smart contracts
- EVM smart contract language
- .sol





