Docs Italia
beta
Public documents, made digital.
Titolo del documento
Search in Document
Search in Document
version latest
version stable
version master
content index
Introduction
Introduction to Smart Contracts
A Simple Smart Contract
Blockchain Basics
The Ethereum Virtual Machine
Installing the Solidity Compiler
Versioning
Remix
npm / Node.js
Docker
Binary Packages
Building from Source
CMake options
The version string in detail
Important information about versioning
Solidity by Example
Voting
Blind Auction
Safe Remote Purchase
Micropayment Channel
Solidity in Depth
Layout of a Solidity Source File
Structure of a Contract
Types
Units and Globally Available Variables
Expressions and Control Structures
Contracts
Solidity Assembly
Miscellaneous
Security Considerations
Pitfalls
Recommendations
Formal Verification
Using the compiler
Using the Commandline Compiler
Compiler Input and Output JSON Description
Contract Metadata
Encoding of the Metadata Hash in the Bytecode
Usage for Automatic Interface Generation and NatSpec
Usage for Source Code Verification
Contract ABI Specification
Basic Design
Function Selector
Argument Encoding
Types
Formal Specification of the Encoding
Function Selector and Argument Encoding
Examples
Use of Dynamic Types
Events
JSON
Non-standard Packed Mode
Yul
Specification of Yul
Specification of Yul Object
Style Guide
Introduction
Code Layout
Naming Conventions
Common Patterns
Withdrawal from Contracts
Restricting Access
State Machine
List of Known Bugs
Contributing
How to Report Issues
Workflow for Pull Requests
Running the compiler tests
Running the Fuzzer via AFL
Whiskers
Frequently Asked Questions
Basic Questions
Advanced Questions
index of figures
table index
glossary
No glossary
Index
indices and glossary
contents
figures
tables
glossary
Introduction
Introduction to Smart Contracts
A Simple Smart Contract
Blockchain Basics
The Ethereum Virtual Machine
Installing the Solidity Compiler
Versioning
Remix
npm / Node.js
Docker
Binary Packages
Building from Source
CMake options
The version string in detail
Important information about versioning
Solidity by Example
Voting
Blind Auction
Safe Remote Purchase
Micropayment Channel
Solidity in Depth
Layout of a Solidity Source File
Structure of a Contract
Types
Units and Globally Available Variables
Expressions and Control Structures
Contracts
Solidity Assembly
Miscellaneous
Security Considerations
Pitfalls
Recommendations
Formal Verification
Using the compiler
Using the Commandline Compiler
Compiler Input and Output JSON Description
Contract Metadata
Encoding of the Metadata Hash in the Bytecode
Usage for Automatic Interface Generation and NatSpec
Usage for Source Code Verification
Contract ABI Specification
Basic Design
Function Selector
Argument Encoding
Types
Formal Specification of the Encoding
Function Selector and Argument Encoding
Examples
Use of Dynamic Types
Events
JSON
Non-standard Packed Mode
Yul
Specification of Yul
Specification of Yul Object
Style Guide
Introduction
Code Layout
Naming Conventions
Common Patterns
Withdrawal from Contracts
Restricting Access
State Machine
List of Known Bugs
Contributing
How to Report Issues
Workflow for Pull Requests
Running the compiler tests
Running the Fuzzer via AFL
Whiskers
Frequently Asked Questions
Basic Questions
Advanced Questions
No glossary
in consultation
Index
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
R
|
S
|
T
|
U
|
V
|
W
|
Y
A
abi
,
[1]
,
[2]
abstract contract
access
restricting
account
addmod
,
[1]
address
,
[1]
,
[2]
anonymous
application binary interface
array
,
[1]
allocating
length
literals
pop
push
asm
,
[1]
assembly
,
[1]
assert
,
[1]
,
[2]
assignment
,
[1]
destructuring
auction
blind
open
B
balance
,
[1]
,
[2]
,
[3]
ballot
base
constructor
base class
blind auction
block
,
[1]
,
[2]
number
,
[1]
timestamp
,
[1]
bool
break
Bugs
byte array
bytes
bytes32
C
C3 linearization
call
,
[1]
callcode
,
[1]
,
[2]
,
[3]
cast
coding style
coin
coinbase
,
[1]
commandline compiler
comment
common subexpression elimination
compiler
commandline
constant
,
[1]
constant propagation
constructor
,
[1]
arguments
continue
contract
,
[1]
abstract
base
creation
interface
contract creation
contract verification
contracts
creating
cryptography
,
[1]
D
data
,
[1]
days
declarations
default value
delegatecall
,
[1]
,
[2]
,
[3]
delete
deriving
difficulty
,
[1]
do/while
E
ecrecover
,
[1]
else
encode
encoding
enum
,
[1]
escrow
ether
ethereum virtual machine
event
,
[1]
,
[2]
evm
evmasm
,
[1]
exception
external
,
[1]
F
fallback function
false
finney
fixed
fixed point number
for
function
call
,
[1]
external
fallback
getter
internal
modifier
,
[1]
,
[2]
,
[3]
pure
view
function type
functions
G
gas
,
[1]
,
[2]
gas price
,
[1]
,
[2]
getter
function
goto
H
hours
I
if
import
indexed
inheritance
multiple
inline
arrays
installing
instruction
int
integer
interface contract
internal
,
[1]
iulia
J
julia
K
keccak256
,
[1]
L
length
library
,
[1]
,
[2]
linearization
linker
literal
,
[1]
,
[2]
address
rational
string
location
log
,
[1]
lvalue
M
mapping
,
[1]
,
[2]
memory
,
[1]
message call
metadata
minutes
modifiers
msg
,
[1]
mulmod
,
[1]
N
natspec
new
,
[1]
now
,
[1]
number
,
[1]
O
open auction
optimizer
origin
,
[1]
overload
P
packed
parameter
input
output
payable
pop
pragma
precedence
private
,
[1]
public
,
[1]
purchase
pure
pure function
push
R
reference type
remote purchase
require
,
[1]
,
[2]
return
revert
,
[1]
,
[2]
ripemd160
,
[1]
S
scoping
seconds
selfdestruct
,
[1]
,
[2]
send
,
[1]
,
[2]
sender
,
[1]
set
sha256
,
[1]
solc
source file
source mappings
stack
state machine
state variable
,
[1]
storage
,
[1]
,
[2]
,
[3]
string
struct
,
[1]
,
[2]
style
subcurrency
super
switch
szabo
T
this
,
[1]
throw
time
timestamp
,
[1]
transaction
,
[1]
transfer
,
[1]
true
type
conversion
function
reference
struct
value
U
ufixed
uint
using for
,
[1]
V
value
,
[1]
value type
version
view
view function
visibility
,
[1]
voting
W
weeks
wei
while
withdrawal
Y
years
yul