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.

La solidez fue propuesta inicialmente en agosto de 2014 por Gavin Wood; el lenguaje fue desarrollado más tarde por el equipo Solidity del proyecto Ethereum, dirigido por Christian Reitwiessner.

En la actualidad, Solidity es el idioma 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.

Solidity es un lenguaje de programación estático diseñado para desarrollar contratos inteligentes que se ejecutan en el EVM. La solidez 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 idiomas específicos de contratos inteligentes, como Solidity, se conoce como fácil.

En comparación con otros idiomas de orientación de EVM de la época, como Serpent y Mutan, Solidity contenía una serie de diferencias importantes.

Se admitieron variables de miembro complejas para contratos que incluyen asignaciones y estructuras arbitrariamente jerárquicas.

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».


Related posts