Solidity (Programming Language)

Solidity is an object-oriented programming language for writing smart contracts and implementing smart contracts on various blockchain platforms, most notably, Ethereum. It is developed by Christian Reitwiessner, Alex Beregszaszi, and several former Ethereum core contributors to enable the writing of smart contracts on blockchain platforms such as Ethereum.

Solidity is a statically-typed programming language designed for developing smart contracts that run on the Ethereum Virtual Machine, also known as EVM.

As specified by Wood, it is designed around the ECMAScript syntax to make it familiar for existing web developers; unlike ECMAScript, it has static typing and variadic return types. Compared to other EVM-targeting languages of the time, such as Serpent and Mutan, Solidity contained several essential differences. Complex member variables for contracts, including arbitrarily hierarchical mappings and structs, are supported. In addition, contracts support inheritance, including multiple inheritances with C3 linearization. An application binary interface (ABI) facilitating multiple type-safe functions within a single contract was also introduced. A documentation system for specifying a user-centric description of the ramifications of a method call was also included in the proposal, known as “Natural Language Specification.”

Via Wikipedia