solidity/docs/index.rst

114 lines
4.5 KiB
ReStructuredText
Raw Normal View History

2015-12-10 10:35:54 +00:00
Solidity
========
2015-12-07 20:16:25 +00:00
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 possible to create contracts for voting,
2015-12-07 20:16:25 +00:00
crowdfunding, blind auctions, multi-signature wallets and more.
2015-12-10 10:35:54 +00:00
.. note::
The best way to try out Solidity right now is using the
2016-05-20 10:52:32 +00:00
`Browser-Based Compiler <https://ethereum.github.io/browser-solidity/>`_
2015-12-10 10:35:54 +00:00
(it can take a while to load, please be patient).
Useful links
------------
* `Ethereum <https://ethereum.org>`_
* `Changelog <https://github.com/ethereum/wiki/wiki/Solidity-Changelog>`_
* `Story Backlog <https://www.pivotaltracker.com/n/projects/1189488>`_
* `Source Code <https://github.com/ethereum/solidity/>`_
* `Ethereum Stackexchange <https://ethereum.stackexchange.com/>`_
2015-12-10 10:35:54 +00:00
* `Gitter Chat <https://gitter.im/ethereum/solidity/>`_
2016-05-20 13:10:50 +00:00
Available Solidity Integrations
-------------------------------
2016-05-26 11:37:10 +00:00
2016-05-20 10:52:32 +00:00
* `Browser-Based Compiler <https://ethereum.github.io/browser-solidity/>`_
2016-05-24 16:09:59 +00:00
Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components.
2016-05-20 13:10:50 +00:00
* `Ethereum Studio <https://live.ether.camp/>`_
2016-05-24 16:09:59 +00:00
Specialized web IDE that also provides shell access to a complete Ethereum environment.
2016-05-20 13:10:50 +00:00
* `Visual Studio Extension <https://visualstudiogallery.msdn.microsoft.com/96221853-33c4-4531-bdd5-d2ea5acc4799/>`_
2016-05-24 16:09:59 +00:00
Solidity plugin for Microsoft Visual Studio that includes the Solidity compiler.
2016-05-20 13:10:50 +00:00
* `Package for SublimeText — Solidity language syntax <https://packagecontrol.io/packages/Ethereum/>`_
2016-05-24 16:09:59 +00:00
Solidity syntax highlighting for SublimeText editor.
2016-05-20 13:10:50 +00:00
* `Atom Ethereum interface <https://github.com/gmtDevs/atom-ethereum-interface>`_
2016-05-24 16:09:59 +00:00
Plugin for the Atom editor that features syntax highlighting, compilation and a runtime environment (requires backend node).
2016-05-20 13:10:50 +00:00
2016-05-28 03:39:22 +00:00
* `Atom Solidity Linter <https://atom.io/packages/linter-solidity>`_
2016-05-24 16:09:59 +00:00
Plugin for the Atom editor that provides Solidity linting.
2016-05-28 03:39:22 +00:00
2016-05-20 13:10:50 +00:00
* `Visual Studio Code extension <http://juan.blanco.ws/solidity-contracts-in-visual-studio-code/>`_
2016-05-24 16:09:59 +00:00
Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.
2016-05-26 11:37:10 +00:00
* `Emacs Solidity <https://github.com/ethereum/emacs-solidity/>`_
2016-05-24 16:09:59 +00:00
Plugin for the Emacs editor providing syntax highlighting and compilation error reporting.
2016-05-26 11:37:10 +00:00
2016-05-24 16:09:59 +00:00
* `Vim Solidity <https://github.com/tomlion/vim-solidity/>`_
Plugin for the Vim editor providing syntax highlighting.
2016-05-20 13:10:50 +00:00
2016-07-27 15:42:21 +00:00
Discontinued:
* `Mix IDE <https://github.com/ethereum/mix/>`_
Qt based IDE for designing, debugging and testing solidity smart contracts.
2016-07-06 15:39:32 +00:00
Solidity Tools
-------------------------------
* `Solidity REPL <https://github.com/raineorshine/solidity-repl>`_
Try Solidity instantly with a command-line Solidity console.
* `solgraph <https://github.com/raineorshine/solgraph>`_
Visualize Solidity control flow and highlight potential security vulnerabilities.
* `evmdis <https://github.com/Arachnid/evmdis>`_
EVM Disassembler that performs static analysis on the bytecode to provide a higher level of abstraction than raw EVM operations.
2015-12-10 10:35:54 +00:00
Language Documentation
----------------------
2015-12-07 20:16:25 +00:00
On the next pages, we will first see a :ref:`simple smart contract <simple-smart-contract>` written
in Solidity followed by the basics about :ref:`blockchains <blockchain-basics>`
and the :ref:`Ethereum Virtual Machine <the-ethereum-virtual-machine>`.
The next section will explain several *features* of Solidity by giving
useful :ref:`example contracts <voting>`
Remember that you can always try out the contracts
2016-05-20 10:52:32 +00:00
`in your browser <https://ethereum.github.io/browser-solidity>`_!
2015-12-07 20:16:25 +00:00
The last and most extensive section will cover all aspects of Solidity in depth.
2016-01-27 17:06:41 +00:00
If you still have questions, you can try searching or asking on the
`Ethereum Stackexchange <https://ethereum.stackexchange.com/>`_
site, or come to our `gitter channel <https://gitter.im/ethereum/solidity/>`_.
Ideas for improving Solidity or this documentation are always welcome!
2015-12-07 20:16:25 +00:00
2015-12-10 10:35:54 +00:00
See also `Russian version (русский перевод) <https://github.com/ethereum/wiki/wiki/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE-Solidity>`_.
2015-12-07 20:16:25 +00:00
Contents
========
2015-12-10 10:35:54 +00:00
:ref:`Keyword Index <genindex>`, :ref:`Search Page <search>`
2015-12-07 20:16:25 +00:00
.. toctree::
:maxdepth: 2
introduction-to-smart-contracts.rst
2015-12-10 10:35:54 +00:00
installing-solidity.rst
2015-12-07 20:16:25 +00:00
solidity-by-example.rst
solidity-in-depth.rst
2016-06-28 15:29:08 +00:00
security-considerations.rst
2015-12-07 20:16:25 +00:00
style-guide.rst
common-patterns.rst
frequently-asked-questions.rst