Te contamos qué es Solidity, el lenguaje de programación diseñado para ejecutar smart contracts en la máquina virtual de Ethereum.
- Solidity es un lenguaje de programación diseñado específicamente para crear y ejecutar smart contracts de forma sencilla en la Máquina Virtual de Ethereum (Ethereum Virtual Machine - EVM, por su nombre en inglés).
- Es un lenguaje fácil de aprender, ya que cuenta con una sintaxis y arreglos similares a los de JavaScript y C++.
- Con un conocimiento básico en programación, aprender Solidity puede resultar una tarea fácil.

Qué es Solidity
Solidity es un lenguaje de programación diseñado específicamente para crear y ejecutar smart contracts de forma sencilla en la Máquina Virtual de Ethereum (Ethereum Virtual Machine - EVM, por su nombre en inglés).
Fue creado en el año 2014 por diferentes colaboradores de la mencionada red.
Aunque Solidity no es el único lenguaje de programación para smart contracts, sí fue el primero, el más versátil y el más utilizado hasta ahora.
Es ampliamente usado en Ethereum y en cualquier otra blockchain que tenga compatibilidad con EVM. Algunas de estas blockchain son:

Cómo ha evolucionado la programación en Solidity
Solidity es un lenguaje relativamente nuevo que está creciendo rápidamente.
Recientemente, ha salido una nueva versión con cambios interesantes como:
- Mejoras a nivel de compatibilidad con entornos de programación. Ahora Solidity es compatible con más Entornos Integrados de Desarrollo (Integrated Development Environment - IDE) como Qt Creator o VIM.
- Optimización del compilador. Esto se traduce en una verificación más rápida de los datos. Un compilador optimizado supone costes operativos más competitivos.
Cuáles son las características principales de este lenguaje de programación
- Es un lenguaje fácil de aprender, ya que cuenta con una sintaxis y arreglos similares a los de JavaScript y C++.
- Es un lenguaje de alto nivel. Esto significa que es una herramienta sencilla para programar, pues evita la dificultad de programar usando OP_CODES o bytecode de forma directa.
- Es un lenguaje Turing Completo.
- Está orientado a objetos. En esta clase de programación, todos los elementos pueden representarse como objetos reales. Esta característica permite a Solidity simplificar varias tareas.
- Cuenta con funciones avanzadas de ensamblaje y desensamblaje para asegurar la depuración, análisis y auditoría de los códigos de los smart contracts de forma segura y sin contratiempos.
- Tiene la capacidad de ser compilado o interpretado, función sumamente útil para las tareas de análisis y mejoras de código.
- Es simple, lo cual habilita su acceso a cualquier persona con conocimientos básicos de programación.

Cómo se puede aprender Solidity
Dado que Solidity es un lenguaje de programación inspirado en otros lenguajes como C++, Python y JavaScript, lo ideal es dominar estos lenguajes para programar smart contracts con éxito.
Con un conocimiento básico en programación, aprender Solidity puede resultar una tarea fácil.
Siguiendo estos pasos se puede aprender a desarrollar smart contracts con Solidity:
Estudiar toda la información técnica sobre Solidity
Antes que nada, es importante investigar lo que aporta cada nueva versión de este lenguaje.
En el sitio web de Solidity se encuentra disponible toda esta información.

Descargar un Entorno Integrado de Desarrollo (IDE) para empezar a programar
Para programar en Ethereum, los IDE más reconocidos son:
- Remix. Al ser en línea, permite programar y probar aplicaciones escritas en Solidity sin necesidad de instalar nada.
- Truffle. Es la herramienta principal para programar smart contracts basados en la EVM. Entre sus varias funcionalidades, permite desplegar smart contracts y configurar su evolución en el tiempo, así como conectar e interactuar con otros protocolos.
Igualmente, existen otros IDE que se pueden utilizar:
- ETHFiddle
- IntelliJ IDEA
- Atom
- Visual Studio Code
Probar la aplicación en un entorno similar al real con un testnet
Para ello se puede utilizar Ganache.
Ganache es la red simulada de pruebas integrada a Truffle. Esto permite desplegar smart contracts en una red con las últimas actualizaciones de Ethereum.
También, configurar la minería y la emisión de bloques y mantener la red limpia de errores sin costos adicionales.
Utilizar herramientas de análisis de seguridad y monitoreo
La seguridad de una blockchain requiere proactividad siempre.
Hay una serie de herramientas de análisis que ayudan a mejorar enormemente la seguridad del código escrito para los smart contracts y evitar accidentes.
Ejemplos de estas herramientas son MythX, Mythril y Alethio.
Desplegar el smart contract en Ethereum
Luego de haber realizado pruebas y depurar errores, el smart contract está listo para ser habilitado en la red.
En caso de hacerlo en la red de Ethereum, se debe contar con unos ethers depositados en una wallet para poder pagar los fees por poner el smart contract en línea.
Una vez hecho el despliegue, se obtiene la dirección del smart contract, a través de la cual otros participantes podrán interactuar.

*Invierte responsablemente
En Buda.com queremos recordarte que no trabajamos con asesores financieros externos y tampoco prestamos el servicio de asesorías de inversión. Ninguno de nuestros contenidos representa una recomendación de inversión. Cada persona asume plena responsabilidad en la compra y venta de sus activos dentro del ecosistema crypto.
Te decimos esto para que tengas cuidado con quienes busquen administrar tus inversiones y aseguren que trabajan con nosotros. Todos los mails que recibas de nosotros terminarán con @buda.com (ej. satoshi@buda.com). Lee nuestra [Guía de Inversión Responsable]
(htthttps://edu.buda.com/guias/seguridadp://) para más consejos de seguridad que te ayuden a evitar malas experiencias en internet.
¡Si tienes dudas, hablemos! Escríbenos por el chat de soporte.**
Contenido relacionado:


Join the conversation.