Logo
v0.8.19

Basics

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

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

Additional Material

  • Solidity v0.5.0 Breaking Changes
  • Solidity v0.6.0 Breaking Changes
  • Solidity v0.7.0 Breaking Changes
  • Solidity v0.8.0 Breaking Changes
  • NatSpec Format
  • Security Considerations
  • SMTChecker and Formal Verification
  • Resources
  • Import Path Resolution
  • Yul
  • Style Guide
  • Common Patterns
  • List of Known Bugs
  • Contributing
  • Solidity Brand Guide
  • Language Influences
  • Keyword Index
Solidity
  • Search


© Copyright 2016-2023, The Solidity Authors. Revision 7dd6d404.

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

Credits and attribution.

RTD v: v0.8.19
Downloads
Versions
latest
stable
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