Solidity, el lenguaje de programación más usado para crear smart contract

La tecnología blockchain está cada día más cerca de nuestras vidas, poco a poco está saliendo del nicho de los early adopters tecnológicos para hacerse presente en nuestro día a día. Hace unos cuantos años Ethereum rompió el mercado con la aparición de los smart contracts (contratos inteligentes) que agregaron nuevas funcionalidades a la cadena de bloques, para programarlos se utiliza Solidity.

Solidity es un lenguaje de programación orientado a objetos para escribir contratos inteligentes. A día de hoy se utiliza para implementar contratos inteligentes en varias plataformas blockchain, pero nació para Ethereum. Su primera versión fue desarrollada por por Christian Reitwiessner y Alex Beregszaszi entre otros de los padres fundadores de Ethereum. El objetivo de este lenguaje es la escritura de contratos inteligentes en plataformas blockchain. Los programas compilados por Solidity se ejecutan en la Ethereum Virtual Machine.

En la actualidad, además de usarse para crear contratos inteligentes en la red Ethereum se utiliza en otras cadenas de bloques privadas que se ejecutan en plataformas que compiten con Ethereum, como Monax o BSC (Binance Smart Contrats). Solidity es un lenguaje de programación de tipado estático diseñado para desarrollar contratos inteligentes que se ejecutan en la máquina virtual Ethereum, también conocida como EVM.

Solidity es un lenguaje de llaves diseñado para apuntar a la máquina virtual Ethereum (EVM). Está influenciado por C++, Python y JavaScript.

Solidity tiene tipos estáticos, admite herencia, bibliotecas y tipos complejos definidos por el usuario, entre otras características.

Con Solidity puede crear contratos para usos como votación, crowdfunding, subastas a ciegas y billeteras de múltiples firmas.

Al implementar contratos, debe usar la última versión de Solidity. Salvo casos excepcionales, solo la última versión recibe correcciones de seguridad . Además, periódicamente se introducen cambios importantes y nuevas funciones. Actualmente usamos un número de versión 0.yz para indicar este rápido ritmo de cambio.

Está diseñado utilizando la sintaxis de ECMAScript para que resulte muy accesible para los desarrolladores web, con la particularidad de que su tipado es estático y sus tipos de retorno son variadic (da respuestas con un número variable de argumentos). Permite el uso de variables miembro complejas para contratos, incluidas estructuras y asignaciones jerárquicas arbitrarias. Los contratos admiten la herencia, incluida la herencia múltiple con linealización C3. También se introdujo una interfaz binaria de aplicación (ABI) que facilita múltiples funciones de seguridad de tipos dentro de un solo contrato.

Los entornos más habituales para desarrollar en Solidity son Remix, un entorno online que proporciona la red Ethereum, y Microsoft Visual Studio Code que dispone de plugins especializados. Para poder probar los contratos se utilizan redes de test como Ropster, Kovan o Rinkeby. Para realizar despliegues en la red desde Javascript la librería más utilizada es web3.js

Crear contratos inteligentes a día de hoy requiere conocimientos de programación, pero con el tiempo la tecnología irá evolucionando así que esperamos con los años que sea posible redactarlos para cualquier persona que no sepa programar.

Solidity, OEE

Queremos seguir creando cursos gratuitos en nuestro canal de YouTube. Solo te pedimos tu ayuda para crecer más. Suscríbete por favor. (Cursos, talleres y charlas gratis para ti).

Ernesto Mota
Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Últimos artículos

a

Publicasciones relaciodadas

¿Quieres aprender a programar desde cero? Ver cursos
¿Quieres ganar una membresía anual? ¡Claro!