mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Update Side Menu (#14081)
* Update index.rst ### Plan #### Bundle 1 Security cons. List of known bugs Solidity Breaking Changes (should be 1 link only) #### Bundle 2 Natspec SMTC YUL Import path #### Bundle 3 Style Guide Common Patterns Resources Contributing Languages influences Keyword Index * Line breaks fix * Whitespaces * Update docs/index.rst Co-authored-by: Nikola Matić <nikola.matic@ethereum.org> * Update docs/index.rst * Update docs/index.rst --------- Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
This commit is contained in:
parent
719cce02b4
commit
5a776c722f
@ -1,38 +1,35 @@
|
||||
Solidity
|
||||
========
|
||||
|
||||
Solidity is an object-oriented, high-level language for implementing smart
|
||||
contracts. Smart contracts are programs which govern the behaviour of accounts
|
||||
within the Ethereum state.
|
||||
Solidity is an object-oriented, high-level language for implementing smart contracts.
|
||||
Smart contracts are programs which govern the behaviour of accounts within the Ethereum state.
|
||||
|
||||
Solidity is a `curly-bracket language <https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages>`_ designed to target the Ethereum Virtual Machine (EVM).
|
||||
It is influenced by C++, Python and JavaScript. You can find more details about which languages Solidity has been inspired by in the :doc:`language influences <language-influences>` section.
|
||||
It is influenced by C++, Python and JavaScript.
|
||||
You can find more details about which languages Solidity has been inspired by in the :doc:`language influences <language-influences>` section.
|
||||
|
||||
Solidity is statically typed, supports inheritance, libraries and complex
|
||||
user-defined types among other features.
|
||||
Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.
|
||||
|
||||
With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions,
|
||||
and multi-signature wallets.
|
||||
With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.
|
||||
|
||||
When deploying contracts, you should use the latest released
|
||||
version of Solidity. Apart from exceptional cases, only the latest version receives
|
||||
When deploying contracts, you should use the latest released version of Solidity.
|
||||
Apart from exceptional cases, only the latest version receives
|
||||
`security fixes <https://github.com/ethereum/solidity/security/policy#supported-versions>`_.
|
||||
Furthermore, breaking changes as well as
|
||||
new features are introduced regularly. We currently use
|
||||
a 0.y.z version number `to indicate this fast pace of change <https://semver.org/#spec-item-4>`_.
|
||||
Furthermore, breaking changes as well as new features are introduced regularly.
|
||||
We currently use a 0.y.z version number `to indicate this fast pace of change <https://semver.org/#spec-item-4>`_.
|
||||
|
||||
.. warning::
|
||||
|
||||
Solidity recently released the 0.8.x version that introduced a lot of breaking
|
||||
changes. Make sure you read :doc:`the full list <080-breaking-changes>`.
|
||||
Solidity recently released the 0.8.x version that introduced a lot of breaking changes.
|
||||
Make sure you read :doc:`the full list <080-breaking-changes>`.
|
||||
|
||||
Ideas for improving Solidity or this documentation are always welcome,
|
||||
read our :doc:`contributors guide <contributing>` for more details.
|
||||
|
||||
.. Hint::
|
||||
|
||||
You can download this documentation as PDF, HTML or Epub by clicking on the versions
|
||||
flyout menu in the bottom-left corner and selecting the preferred download format.
|
||||
You can download this documentation as PDF, HTML or Epub
|
||||
by clicking on the versions flyout menu in the bottom-left corner and selecting the preferred download format.
|
||||
|
||||
|
||||
Getting Started
|
||||
@ -40,8 +37,7 @@ Getting Started
|
||||
|
||||
**1. Understand the Smart Contract Basics**
|
||||
|
||||
If you are new to the concept of smart contracts we recommend you to get started by digging
|
||||
into the "Introduction to Smart Contracts" section, which covers:
|
||||
If you are new to the concept of smart contracts we recommend you to get started by digging into the "Introduction to Smart Contracts" section, which covers:
|
||||
|
||||
* :ref:`A simple example smart contract <simple-smart-contract>` written in Solidity.
|
||||
* :ref:`Blockchain Basics <blockchain-basics>`.
|
||||
@ -59,29 +55,27 @@ simply choose your preferred option and follow the steps outlined on the :ref:`i
|
||||
|
||||
.. hint::
|
||||
You can try out code examples directly in your browser with the
|
||||
`Remix IDE <https://remix.ethereum.org>`_. Remix is a web browser based IDE
|
||||
that allows you to write, deploy and administer Solidity smart contracts, without
|
||||
the need to install Solidity locally.
|
||||
`Remix IDE <https://remix.ethereum.org>`_.
|
||||
Remix is a web browser based IDE that allows you to write, deploy and administer Solidity smart contracts,
|
||||
without the need to install Solidity locally.
|
||||
|
||||
.. warning::
|
||||
As humans write software, it can have bugs. You should follow established
|
||||
software development best-practices when writing your smart contracts. This
|
||||
includes code review, testing, audits, and correctness proofs. Smart contract
|
||||
users are sometimes more confident with code than their authors, and
|
||||
blockchains and smart contracts have their own unique issues to
|
||||
watch out for, so before working on production code, make sure you read the
|
||||
:ref:`security_considerations` section.
|
||||
As humans write software, it can have bugs.
|
||||
You should follow established software development best-practices when writing your smart contracts.
|
||||
This includes code review, testing, audits, and correctness proofs.
|
||||
Smart contract users are sometimes more confident with code than their authors,
|
||||
and blockchains and smart contracts have their own unique issues to watch out for,
|
||||
so before working on production code, make sure you read the :ref:`security_considerations` section.
|
||||
|
||||
**4. Learn More**
|
||||
|
||||
If you want to learn more about building decentralized applications on Ethereum, the
|
||||
`Ethereum Developer Resources <https://ethereum.org/en/developers/>`_
|
||||
can help you with further general documentation around Ethereum, and a wide selection of tutorials,
|
||||
tools and development frameworks.
|
||||
If you want to learn more about building decentralized applications on Ethereum,
|
||||
the `Ethereum Developer Resources <https://ethereum.org/en/developers/>`_ can help you with further general documentation around Ethereum,
|
||||
and a wide selection of tutorials, tools and development frameworks.
|
||||
|
||||
If you have any questions, you can try searching for answers or asking on the
|
||||
`Ethereum StackExchange <https://ethereum.stackexchange.com/>`_, or
|
||||
our `Gitter channel <https://gitter.im/ethereum/solidity/>`_.
|
||||
`Ethereum StackExchange <https://ethereum.stackexchange.com/>`_,
|
||||
or our `Gitter channel <https://gitter.im/ethereum/solidity/>`_.
|
||||
|
||||
.. _translations:
|
||||
|
||||
@ -89,8 +83,8 @@ Translations
|
||||
------------
|
||||
|
||||
Community contributors help translate this documentation into several languages.
|
||||
Note that they have varying degrees of completeness and up-to-dateness. The English
|
||||
version stands as a reference.
|
||||
Note that they have varying degrees of completeness and up-to-dateness.
|
||||
The English version stands as a reference.
|
||||
|
||||
You can switch between languages by clicking on the flyout menu in the bottom-left corner
|
||||
and selecting the preferred language.
|
||||
@ -107,8 +101,8 @@ and selecting the preferred language.
|
||||
|
||||
.. note::
|
||||
|
||||
We set up a GitHub organization and translation workflow to help streamline the
|
||||
community efforts. Please refer to the translation guide in the `solidity-docs org <https://github.com/solidity-docs>`_
|
||||
We set up a GitHub organization and translation workflow to help streamline the community efforts.
|
||||
Please refer to the translation guide in the `solidity-docs org <https://github.com/solidity-docs>`_
|
||||
for information on how to start a new language or contribute to the community translations.
|
||||
|
||||
Contents
|
||||
@ -161,21 +155,31 @@ Contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Additional Material
|
||||
:caption: Advisory content
|
||||
|
||||
security-considerations.rst
|
||||
bugs.rst
|
||||
050-breaking-changes.rst
|
||||
060-breaking-changes.rst
|
||||
070-breaking-changes.rst
|
||||
080-breaking-changes.rst
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Additional Material
|
||||
|
||||
natspec-format.rst
|
||||
security-considerations.rst
|
||||
smtchecker.rst
|
||||
resources.rst
|
||||
path-resolution.rst
|
||||
yul.rst
|
||||
path-resolution.rst
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Resources
|
||||
|
||||
style-guide.rst
|
||||
common-patterns.rst
|
||||
bugs.rst
|
||||
resources.rst
|
||||
contributing.rst
|
||||
brand-guide.rst
|
||||
language-influences.rst
|
||||
brand-guide.rst
|
||||
|
Loading…
Reference in New Issue
Block a user