Solidity es un lenguaje de programación dedicado a contratos inteligentes. Es el lenguaje principal de Ethereum.
***
¿Qué es Solidity?
Solidity es un lenguaje de programación orientado a objetos para escribir contratos inteligentes.
Se utiliza para implementar contratos inteligentes en varias plataformas de blockchain, sobre todo, Ethereum.
Fue desarrollado por Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Liana Husikyan, Yoichi Hirai y varios colaboradores principales de Ethereum para permitir la redacción de contratos inteligentes en plataformas de Blockchain como Ethereum.
Historia
Solidity fue propuesta inicialmente en agosto de 2014 por Gavin Wood; el lenguaje lo desarrolló más tarde el equipo Solidity del proyecto Ethereum, dirigido por Christian Reitwiessner.
En la actualidad, es el lenguaje principal en Ethereum, así como en otras blockchains privadas que se ejecutan en plataformas que compiten con Ethereum, como Monax y su blockchain Hyperledger Burrow, que utiliza Tendermint para el consenso.
SWIFT ha implementado una prueba de concepto utilizando Solidity que se ejecuta en Burrow.
Características
Es un lenguaje de programación estático diseñado para desarrollar contratos inteligentes que se ejecutan en el EVM. Se compila a bytecode que es ejecutable en el EVM. Con Solidity, los desarrolladores pueden escribir aplicaciones que implementan la lógica empresarial autoimpulsada incorporada en contratos inteligentes, dejando un registro de transacciones no repudiable y autoritario.
Escribir contratos inteligentes en lenguajes específicos de contratos inteligentes, como este, se conoce como fácil.
En comparación con otros lenguajes de orientación de EVM de la época, como Serpent y Mutan, Solidity contenía una serie de diferencias importantes.
Además, se admitieron variables de miembro complejas para contratos que incluyen asignaciones y estructuras arbitrariamente jerárquicas.
Asimismo, los contratos admiten la herencia, incluida la herencia múltiple con la linealización C3.
También se introdujo una aplicación de interfaz binaria que facilita múltiples funciones de tipo seguro dentro de un solo contrato.
Un sistema de documentación para especificar una descripción centrada en el usuario de las ramificaciones de una llamada de método también se incluyó en la propuesta, conocida como “Especificación de lenguaje natural”.
Integraciones
Según su web, este lenguaje tiene integraciones en:
Remix
Entorno integrado de desarrollo (IDE) basado en un navegador que integra un compilador y un entorno en tiempo de ejecución para Solidity sin los componentes orientados al servidor.
Ethereum Studio
Entorno integrado de desarrollo (IDE) especializado que proporciona acceso a un entorno completo de Ethereum a través de un intérprete de comandos (shell).
Plugin IntelliJ IDEA
Plugin de Solidity para IntelliJ IDEA (y el resto de IDEs de JetBrains).
Extensión de Visual Studio
Plugin para Microsoft Visual Studio que incluye un compilador de Solidity.
Paquete para SublimeText
Paquete para resaltar la sintaxis de Solidity en el editor SublimeText.
Etheratom
Plugin para el editor Atom que ofrece: resaltar la sintaxis, un entorno de compilación y un entorno en tiempo de ejecución (compatible con un nodo en segundo plano y con una máquina virtual).
Además de otros plugin y programas como Linter para Atom, Linter de Solium para Atom, Solium, Extensión para Visual Studio Code, Emacs Solidity (plugin para el editor Emacs que incluye resaltar la sintaxis y el reporte de los errores de compilación), Vim Solidity y Vim Syntastic.
Igualmente, si quiere más información visite su página en español.
Versión de DiarioBitcoin
« Volver al índice del glosario
ADVERTENCIA: Este es un artículo de carácter informativo. DiarioBitcoin es un medio de comunicación, no promociona, respalda ni recomienda ninguna inversión en particular. Vale señalar que las inversiones en criptoactivos no están reguladas en algunos países. Pueden no ser apropiadas para inversores minoristas, pues se podría perder el monto total invertido. Consulte las leyes de su país antes de invertir.