aboutsummaryrefslogblamecommitdiffstats
path: root/docs/contracts.rst
blob: 5bab6e78a81e8b38ed7e41dbc32f87dede9c4ac0 (plain) (tree)
1
2
3
4
5
6
7
8
9

                     

              



          
                                                                               


                                                                              

                                                                                              
 
                                             
 
                                                 
 
                                             
 
                                                   
                                    
 
                                 
 
                                      
 
                                             
                                     
 
                                    
 
                                   
.. index:: ! contract

.. _contracts:

##########
Contracts
##########

Contracts in Solidity are similar to classes in object-oriented languages. They
contain persistent data in state variables and functions that can modify these
variables. Calling a function on a different contract (instance) will perform
an EVM function call and thus switch the context such that state variables are
inaccessible. A contract and its functions need to be called for anything to happen.
There is no "cron" concept in Ethereum to call a function at a particular event automatically.

.. include:: contracts/creating-contracts.rst

.. include:: contracts/visibility-and-getters.rst

.. include:: contracts/function-modifiers.rst

.. include:: contracts/constant-state-variables.rst
.. include:: contracts/functions.rst

.. include:: contracts/events.rst

.. include:: contracts/inheritance.rst

.. include:: contracts/abstract-contracts.rst
.. include:: contracts/interfaces.rst

.. include:: contracts/libraries.rst

.. include:: contracts/using-for.rst