Solidity is a programming language for writing smart contracts on various blockchain platforms, most notably Ethereum.
It is designed to target the Ethereum Virtual Machine (EVM) and is statically typed, supporting inheritance, libraries, and complex user-defined types among other features.