SOLIDITY-LANGUAGE
Ethereum contract language Solidity.
Definition
Solidity characteristics: Statically-typed, inheritance, libraries, user-defined types, functions, modifiers, events, struct, mapping, enum. Type system: value types (uint8-256, int, address, bytes, bool, enum), reference types (struct, array, mapping). Versions: Solidity 0.8.x current (October 2024 0.8.27 stable), introduces default SafeMath, immutable, EIP-1153 transient storage. Compilation: solc -> AST -> Yul (Intermediate Representation) -> EVM bytecode + Contract ABI. Tools: Hardhat, Foundry, Remix IDE, Truffle (deprecated).
Origin
Solidity proposed by Gavin Wood 2014 ; developed by Christian Reitwiessner and Alex Beregszaszi ; v0.1 release 2015 ; v0.4 (2016), v0.5 (2018), v0.6 (2019), v0.7 (2020), v0.8 (2020) breaking changes ; current 0.8.27.
Example in context
ConsenSys Diligence audits Solidity 0.8.27 smart contract Uniswap V4 using EIP-1153 transient storage to optimise hook gas costs ; mainnet deployment Q4 2024.
Related terms
- Smart Contract EVM — compilation target.