Logo
latest

Basics

  • Introduction to Smart Contracts
  • Solidity by Example
  • Installing the Solidity Compiler

Language Description

  • Layout of a Solidity Source File
  • Structure of a Contract
  • Types
  • Units and Globally Available Variables
  • Expressions and Control Structures
  • Contracts
  • Inline Assembly
  • Cheatsheet
  • Language Grammar

Compiler

  • Using the Compiler
  • Analysing the Compiler Output
  • Solidity IR-based Codegen Changes

Internals

  • Layout of State Variables in Storage
  • Layout in Memory
  • Layout of Call Data
  • Cleaning Up Variables
  • Source Mappings
  • The Optimizer
  • Contract Metadata
  • Contract ABI Specification

Advisory content

  • Security Considerations
  • List of Known Bugs
  • Solidity v0.5.0 Breaking Changes
  • Solidity v0.6.0 Breaking Changes
  • Solidity v0.7.0 Breaking Changes
  • Solidity v0.8.0 Breaking Changes

Additional Material

  • NatSpec Format
  • SMTChecker and Formal Verification
  • Yul
  • Import Path Resolution

Resources

  • Style Guide
  • Common Patterns
  • Resources
  • Contributing
  • Language Influences
  • Solidity Brand Guide
  • Keyword Index
Solidity
  • Search


© Copyright 2016-2023, The Solidity Authors. Revision facc3809.

Built with Sphinx using a theme provided by Read the Docs.

Credits and attribution.

RTD v: latest
Downloads
pdf
epub
Versions
latest
stable
v0.8.20
v0.8.19
v0.8.18
v0.8.17
v0.8.16
v0.8.15
v0.8.14
v0.8.13
v0.8.12
v0.8.11
v0.8.10
v0.8.9
v0.8.8
v0.8.7
v0.8.6
v0.8.5
v0.8.4
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.12
v0.6.11
v0.6.10
v0.6.9
v0.6.8
v0.6.7
v0.6.6
v0.6.5
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.17
v0.5.16
v0.5.15
v0.5.14
v0.5.13
v0.5.12
v0.5.11
v0.5.10
v0.5.9
v0.5.8
v0.5.7
v0.5.6
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.26
v0.4.25
v0.4.24
v0.4.23
v0.4.22
v0.4.21
v0.4.20
v0.4.19
v0.4.18
v0.4.17
v0.4.16
v0.4.15
v0.4.14
v0.4.13
v0.4.12
v0.4.11
v0.4.10
v0.4.9
v0.4.8
v0.4.7
v0.4.6
v0.4.5
v0.4.4
v0.4.3
v0.4.2
v0.4.1
v0.4.0
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.2
v0.2.1
v0.2.0
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
develop
breaking
On Read the Docs
Project Home
Builds