Crypto glossary
Solidity
Solidity is the main programming language for writing smart contracts on Ethereum and other EVM chains, with a syntax inspired by JavaScript and C++.
Solidity is a statically typed, contract-oriented language first proposed by Gavin Wood in 2014 and developed by the Ethereum community. Developers write contracts with state variables, functions and events, then compile them into EVM bytecode that is deployed on-chain. Its syntax looks familiar to programmers who know JavaScript, C++ or Java.
Major DeFi protocols such as Uniswap and Aave are written in Solidity, as are most ERC-20 and ERC-721 tokens. Developers test their code with frameworks such as Hardhat and Foundry, reuse audited libraries from OpenZeppelin and publish verified source code on block explorers so users can read it. Vyper is the main alternative language for the EVM.
Small mistakes in Solidity can be costly, because deployed contracts usually cannot be changed and often hold large sums. Classic pitfalls include reentrancy, unchecked external calls and access-control errors; since version 0.8, arithmetic overflows revert by default. Audits reduce risk but never remove it.
Example
A basic token contract in Solidity can take fewer than 50 lines when it imports OpenZeppelin's ERC-20 implementation, yet every line handles real funds once it is deployed.