Solidity is a high-level language whose syntax is similar to that of JavaScript and it is designed to compile to code for the Ethereum Virtual Machine. As you will see, it is quite easy to create contracts for voting, crowdfunding, blind auctions, multi-signature wallets and more.


The best way to try out Solidity right now is using the Browser-Based Compiler (it can take a while to load, please be patient).

Available Solidity Integrations

  • Browser-Based Compiler

    Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components.

  • Ethereum Studio

    Specialized web IDE that also provides shell access to a complete Ethereum environment.

  • Visual Studio Extension

    Solidity plugin for Microsoft Visual Studio that includes the Solidity compiler.

  • Mix IDE

    Qt based IDE for designing, debugging and testing solidity smart contracts.

  • Package for SublimeText — Solidity language syntax

    Solidity syntax highlighting for SublimeText editor.

  • Atom Solidity package

    Plugin for the atom editor that features syntax highlighting, compilation and a runtime environment (requires backend node).

  • Visual Studio Code extension

    Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.

  • Emacs Solidity

    Plugin for the emacs editor providing syntax highlighting and compilation error reporting.

  • VIM Solidity

    Plugin for the VIM editor providing syntax highlighting.

Language Documentation

On the next pages, we will first see a simple smart contract written in Solidity followed by the basics about blockchains and the Ethereum Virtual Machine.

The next section will explain several features of Solidity by giving useful example contracts Remember that you can always try out the contracts in your browser!

The last and most extensive section will cover all aspects of Solidity in depth.

If you still have questions, you can try searching or asking on the Ethereum Stackexchange site, or come to our gitter channel. Ideas for improving Solidity or this documentation are always welcome!

See also Russian version (русский перевод).