aboutsummaryrefslogtreecommitdiffstats
path: root/consensus/clique/snapshot.go
Commit message (Expand)AuthorAgeFilesLines
* Rebrand as tangerine-network/go-tangerineWei-Ning Huang2019-09-171-4/+4
* Change import go github.com/dexon-foundation/dexonWei-Ning Huang2019-06-121-4/+4
* consensus/clique, core: chain maker clique + error testsPéter Szilágyi2018-09-111-8/+8
* consensus/clique: replace bubble sort by golang stable sorthadv2018-07-241-11/+13
* consensus: fix megacheck warningsEgon Elbre2017-08-071-2/+2
* Merge pull request #14596 from markya0616/valid_clique_votePéter Szilágyi2017-06-231-2/+8
|\
| * consensus/clique: choose valid votesmark.lin2017-06-141-2/+8
* | rlp, trie, contracts, compression, consensus: improve comments (#14580)S. Matthew English2017-06-121-2/+2
|/
* consensus/clique: cache block signatures for fast checksPéter Szilágyi2017-05-301-17/+22
* consensus/clique, internal/web3ext: support hash based API queries (#14321)Péter Szilágyi2017-04-121-26/+26
* consensus/clique: Proof of Authority (#3753)Péter Szilágyi2017-04-101-0/+299
5 22:45:28 +0800 Add IntelliJ plugin to Solidity integrations' href='/~lantw44/cgit/dexon-solidity/commit/docs/index.rst?id=0d8ae4a33ac6adab0ac14904e085a4e10e2353b0'>0d8ae4a3
65c8ddaa
5d084afa
65c8ddaa
65c8ddaa
5d084afa
65c8ddaa
cd5fc7a6

65c8ddaa
0b56c5d0
a011ffdd
4658c4f2
9191f8af


7f64984b

5cded778
3bcaa24c
5cded778
0b56c5d0
65c8ddaa
5d084afa
fef7473e

a011ffdd
fef7473e
a011ffdd

65c8ddaa
c9a9a4a7


4f0f9fcd




d34e2690

4f0f9fcd
f737aa9a
be86a2af
f737aa9a
ab0a0ab0

4f5a95d5
f737aa9a

a6c9d853
f737aa9a





4658c4f2


04af994b








b344bbac


64fa9ca4






a0d6ac63
64fa9ca4


bdfd8a6e



64fa9ca4
64fa9ca4


b344bbac

64fa9ca4



b344bbac
64fa9ca4

2df142c4
4fccb5fd
b1a7281e
ca70d82b
a67bd2fb
64fa9ca4

291ece2b
4b74bf79
64fa9ca4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165

        
 




                       
                                                                                      

                                                             

                                                                         
                                        
 
                                                               

                                                               
         

                                                       

                                                     








                                                                                                                                                                             




                                    
                                                                               




                                                                      

                                                                 

                                                       

                               
 
                                        
                                                                                                               
 


                                                                                       
                                                                                                                   
                                                                                    
 
                                                                                                        
                                                        
 

                                                                                                                                       
 
                                                                    
                                                              
 


                                                                

                                                                                                                                                                             
    
                                                   
                                                                                                              
 
                                                                                                   
                                                                                                                 

                                                                 
                                                                                              
 

                                                            
 


                                                            




                                                                               

                                                                                           
 
              
              
 

                                                                       
 

                                                                  
 





                                                                                                                                    


                                                   








                                                                                   


                      






                                                                                                   
                                                


                                                                                



                                                                              
 


        

                                                            



                                      
                          

                          
                              
                         
               
               
            

                      
           
                   
                                 
Solidity
========

.. image:: logo.svg
    :width: 120px
    :alt: Solidity logo
    :align: center

Solidity is a contract-oriented, high-level language for implementing smart contracts.
It 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.

As you will see, it is possible to create contracts for voting,
crowdfunding, blind auctions, multi-signature wallets and more.

.. note::
    The best way to try out Solidity right now is using
    `Remix <https://remix.ethereum.org/>`_
    (it can take a while to load, please be patient).

Translations
------------

This documentation is translated into several languages by community volunteers, but the English version stands as a reference.

* `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)


Useful links
------------

* `Ethereum <https://ethereum.org>`_

* `Changelog <https://github.com/ethereum/solidity/blob/develop/Changelog.md>`_

* `Story Backlog <https://www.pivotaltracker.com/n/projects/1189488>`_

* `Source Code <https://github.com/ethereum/solidity/>`_

* `Ethereum Stackexchange <https://ethereum.stackexchange.com/>`_

* `Gitter Chat <https://gitter.im/ethereum/solidity/>`_

Available Solidity Integrations
-------------------------------

* `Remix <https://remix.ethereum.org/>`_
    Browser-based IDE with integrated compiler and Solidity runtime environment without server-side components.

* `IntelliJ IDEA plugin <https://plugins.jetbrains.com/plugin/9475-intellij-solidity>`_
    Solidity plugin for IntelliJ IDEA (and all other JetBrains IDEs)

* `Visual Studio Extension <https://visualstudiogallery.msdn.microsoft.com/96221853-33c4-4531-bdd5-d2ea5acc4799/>`_
    Solidity plugin for Microsoft Visual Studio that includes the Solidity compiler.

* `Package for SublimeText — Solidity language syntax <https://packagecontrol.io/packages/Ethereum/>`_
    Solidity syntax highlighting for SublimeText editor.

* `Etheratom <https://github.com/0mkara/etheratom>`_
    Plugin for the Atom editor that features syntax highlighting, compilation and a runtime environment (Backend node & VM compatible).

* `Atom Solidity Linter <https://atom.io/packages/linter-solidity>`_
    Plugin for the Atom editor that provides Solidity linting.

* `Atom Solium Linter <https://atom.io/packages/linter-solium>`_
    Configurable Solidty linter for Atom using Solium as a base.

* `Solium <https://github.com/duaraghav8/Solium/>`_
    A commandline linter for Solidity which strictly follows the rules prescribed by the `Solidity Style Guide <http://solidity.readthedocs.io/en/latest/style-guide.html>`_.
    
* `Solhint <https://github.com/protofire/solhint>`_
    Solidity linter that provides security, style guide and best practice rules for smart contract validation.

* `Visual Studio Code extension <http://juan.blanco.ws/solidity-contracts-in-visual-studio-code/>`_
    Solidity plugin for Microsoft Visual Studio Code that includes syntax highlighting and the Solidity compiler.

* `Emacs Solidity <https://github.com/ethereum/emacs-solidity/>`_
    Plugin for the Emacs editor providing syntax highlighting and compilation error reporting.

* `Vim Solidity <https://github.com/tomlion/vim-solidity/>`_
    Plugin for the Vim editor providing syntax highlighting.

* `Vim Syntastic <https://github.com/scrooloose/syntastic>`_
    Plugin for the Vim editor providing compile checking.

Discontinued:

* `Mix IDE <https://github.com/ethereum/mix/>`_
    Qt based IDE for designing, debugging and testing solidity smart contracts.

* `Ethereum Studio <https://live.ether.camp/>`_     
    Specialized web IDE that also provides shell access to a complete Ethereum environment.

Solidity Tools
--------------

* `Dapp <https://dapp.readthedocs.io>`_
    Build tool, package manager, and deployment assistant for Solidity.

* `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.

* `Doxity <https://github.com/DigixGlobal/doxity>`_
    Documentation Generator for Solidity.

Third-Party Solidity Parsers and Grammars
-----------------------------------------

* `solidity-parser <https://github.com/ConsenSys/solidity-parser>`_
    Solidity parser for JavaScript

* `Solidity Grammar for ANTLR 4 <https://github.com/federicobond/solidity-antlr4>`_
    Solidity grammar for the ANTLR 4 parser generator

Language Documentation
----------------------

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
`in your browser <https://remix.ethereum.org>`_!

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 <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!

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
   using-the-compiler.rst
   metadata.rst
   abi-spec.rst
   julia.rst
   style-guide.rst
   common-patterns.rst
   bugs.rst
   contributing.rst
   frequently-asked-questions.rst