Solidity
docs.soliditylang.org
1
Leaving SiteNav
External Link Disclaimer
You are about to visit docs.soliditylang.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Solidity is a statically-typed, object-oriented programming language designed specifically for implementing smart contracts on blockchain platforms, most prominently Ethereum and other Ethereum Virtual Machine (EVM) compatible networks. Developed primarily by the Ethereum Foundation and the Solidity team led by Christian Reitwiessner since 2014, Solidity has become the dominant smart contract language in the blockchain ecosystem, powering the vast majority of decentralized applications (dApps), decentralized finance (DeFi) protocols, non-fungible tokens (NFTs), and DAOs deployed on Ethereum and compatible chains. The language draws inspiration from JavaScript, C++, and Python, featuring familiar syntax constructs such as contracts (analogous to classes), inheritance (including multiple inheritance), interfaces, libraries, enums, structs, and modifiers. Solidity code compiles to EVM bytecode, which is deployed and executed on the blockchain network. Key language features include: support for elementary types (uint256, address, bytes, string, bool), complex types (arrays, mappings, structs), events for logging and external notification, custom modifiers for access control and validation, the payable keyword for functions that receive Ether, gas optimization considerations (storage vs memory vs calldata data locations), error handling via require, assert, and revert with custom error types, the SafeMath library pattern for overflow protection (built-in since 0.8.0), and abstract contracts and interfaces for standardized protocols like ERC-20, ERC-721, and ERC-1155. The Solidity compiler (solc) provides features like ABI generation, source mapping, and optimization passes. The current major version is 0.8.x, and the language is continuously evolving.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike