Solidity

Solidity logo

Solidity es un lenguaje de alto nivel orientado a contratos. Su sintaxis es similar a la de JavaScript y está enfocado específicamente a la Máquina Virtual de Etehreum (EVM).

Solidity está tipado de manera estática y acepta, entre otras cosas, herencias, librerías y tipos complejos definidos por el usuario.

Como verá, es posible crear contratos para votar, para el crowdfunding, para subastas a ciegas, para monederos muti firmas, y mucho más.

Nota

La mejor manera de probar Solidity ahora mismo es usando Remix (puede tardar un rato en cargarse, por favor sea paciente).

Integraciones de Solidity disponibles

  • 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 de Solidity para Microsoft Visual Studio que incluye un compilador de Solidity.
  • Paquete para SublimeText
    Paquete para resaltar la sintáxis de Solidity en el editor SublimeText.
  • Etheratom
    Plugin para el editor Atom que ofrece: resaltar la sintáxis, 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).
  • Linter de Solidity para Atom
    Plugin para el editor Atom que ofrece linting para Solidity.
  • Linter de Solium para Atom
    Programa de linting de Solidity configurable para Atom que usa Solium como base.
  • Solium
    Programa de linting de Solidity para la interfaz de línea de comandos que sigue estrictamente las reglas prescritas por la Guía de Estilo de Solidity.
  • Extensión para Visual Studio Code
    Plugin de Solidity para Microsoft Visual Studio que incluye resaltar la sintáxis y el compilador de Solidity.
  • Emacs Solidity
    Plugin para el editor Emacs que incluye resaltar la sintáxis y el reporte de los errores de compilación.
  • Vim Solidity
    Plugin para el editor Vim que incluye resaltar la sintáxis. Plugin for the Vim editor providing syntax highlighting.
  • Vim Syntastic
    Plugin para el editor Vim que incluye la verificación de la compilación.

Descontinuados:

  • Mix IDE
    Entorno integrado de desarrollo (IDE) basado en Qt para el diseño, debugging y testeo de contratos inteligentes en Solidity.

Herramientas para Solidity

  • Dapp
    Herramienta de construcción, gestión de paquetes y asistente de despliegue para Solidity.
  • Solidity REPL
    Prueba Solidity al instante gracias a una consola de línea de comandos de Solidity.
  • solgraph
    Visualiza el flujo de control de Solidity y resalta potenciales vulnerabilidades de seguridad.
  • evmdis
    Desensamblador de la Máquina Virtual de Ethereum (EVM) que realiza análisis estáticos sobre el bytecode y así proporcionar un mayor nivel de abstracción que las operaciones brutas del EVM.
  • Doxity
    Generador de documentación para Solidity.

Analizadores de sintáxis y de gramática alternativos para Solidity

Documentación del lenguaje

A continuación, primero veremos un contrato inteligente sencilo escrito en Solidity, seguido de una introducción sobre blockchains y sobre la Máquina Virtual de Ethereum.

En la siguiente sección se explicarán distintas características de Solidity con varios ejemplos de contratos. Recuerde que siempre puede probar estos contratos en su navegador!.

La última sección (y también la más amplia) cubre, en profundidad, todos los aspectos de Solidity.

Si todavía tiene dudas o preguntas, puede buscar y preguntar en la web de Ethereum Stackexchange, o puede unirse a nuestro canal de gitter. ¡Ideas para mejorar Solidity o esta documentación siempre son bienvenidas!

También existe la versión rusa (русский перевод).