mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			90 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
Solidity
 | 
						|
========
 | 
						|
 | 
						|
.. image:: logo.svg
 | 
						|
    :width: 120px
 | 
						|
    :alt: Solidity logo
 | 
						|
    :align: center
 | 
						|
 | 
						|
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 was influenced by C++, Python and JavaScript and is designed to target
 | 
						|
the Ethereum Virtual Machine (EVM).
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
Language Documentation
 | 
						|
----------------------
 | 
						|
 | 
						|
If you are new to the concept of smart contracts we recommend you start with
 | 
						|
:ref:`an example smart contract <simple-smart-contract>` written
 | 
						|
in Solidity. When you are ready for more detail, we recommend you read the
 | 
						|
:doc:`"Solidity by Example" <solidity-by-example>` and :doc:`"Solidity in Depth" <solidity-in-depth>` sections to learn the core concepts of the language.
 | 
						|
 | 
						|
For further reading, try :ref:`the basics of blockchains <blockchain-basics>`
 | 
						|
and details of the :ref:`Ethereum Virtual Machine <the-ethereum-virtual-machine>`.
 | 
						|
 | 
						|
.. hint::
 | 
						|
  You can always try out code examples in your browser with the
 | 
						|
  `Remix IDE <https://remix.ethereum.org>`_. Remix is a web browser based IDE
 | 
						|
  that allows you to write Solidity smart contracts, then deploy and run the
 | 
						|
  smart contracts. It can take a while to load, so please be patient.
 | 
						|
 | 
						|
.. 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.
 | 
						|
 | 
						|
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/>`_.
 | 
						|
 | 
						|
Ideas for improving Solidity or this documentation are always welcome, read our :doc:`contributors guide <contributing>` for more details.
 | 
						|
 | 
						|
Translations
 | 
						|
------------
 | 
						|
 | 
						|
Community volunteers help translate this documentation into several languages.
 | 
						|
They have varying degrees of completeness and up-to-dateness. The English
 | 
						|
version stands as a reference.
 | 
						|
 | 
						|
* `Simplified Chinese <http://solidity-cn.readthedocs.io>`_ (in progress)
 | 
						|
* `Spanish <https://solidity-es.readthedocs.io>`_
 | 
						|
* `Russian <https://github.com/ethereum/wiki/wiki/%5BRussian%5D-%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>`_ (rather outdated)
 | 
						|
* `Korean <http://solidity-kr.readthedocs.io>`_ (in progress)
 | 
						|
* `French <http://solidity-fr.readthedocs.io>`_ (in progress)
 | 
						|
 | 
						|
Contents
 | 
						|
========
 | 
						|
 | 
						|
:ref:`Keyword Index <genindex>`, :ref:`Search Page <search>`
 | 
						|
 | 
						|
.. toctree::
 | 
						|
   :maxdepth: 2
 | 
						|
 | 
						|
   introduction-to-smart-contracts.rst
 | 
						|
   installing-solidity.rst
 | 
						|
   solidity-by-example.rst
 | 
						|
   solidity-in-depth.rst
 | 
						|
   security-considerations.rst
 | 
						|
   resources.rst
 | 
						|
   using-the-compiler.rst
 | 
						|
   metadata.rst
 | 
						|
   abi-spec.rst
 | 
						|
   yul.rst
 | 
						|
   style-guide.rst
 | 
						|
   common-patterns.rst
 | 
						|
   bugs.rst
 | 
						|
   contributing.rst
 | 
						|
   frequently-asked-questions.rst
 | 
						|
   lll.rst
 |