====== Solidity ====== [[dido:public:ra:xapend:xapend.a_glossary:start| Return to Glossary ]] **Solidity** is a programming language used for developing smart contracts on Ethereum and other blockchain patforms (i.e., [[dido:public:ra:xapend:xapend.a_glossary:d:dido_platform]]), such as Monax and its Hyperledger Burrow blockchain. British software developer Gavin Wood proposed **Solidity** in 2014 and developed the high-level programming language along with other Ethereum aficionados, including Christian Reitwiessner, Alex Beregszaszi, Liana Husikyan and Yoichi Hirai. **Solidity** is compiled to [[dido:public:ra:xapend:xapend.a_glossary:b:bytecode]] (or portable code) that is executable on the Ethereum Virtual Machine (EVM), the runtime environment for smart contracts in Ethereum. Although other languages, including Serpent, Viper and Mutan, can also be compiled into EVM machine-level bytecode to run on Ethereum nodes for payment, **Solidity** is the most widely adopted. **Solidity** was created to be easily learned because it employs many concepts – such as variables, functions, classes, arithmetic operations and string manipulation – that appear in popular modern programming languages. An intentionally pared-down, loosely-typed language, **Solidity** draws from C, C++, C#, JavaScript, PowerShell and Python. It also adopts a syntax that similarly resembles ECMAScript (JavaScript). For example, in Java or C, a programmer would create some form of a **''main''** function, while **Solidity** uses a **''contract''** written similarly. Source: [[https://whatis.techtarget.com/definition/Solidity ]] /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~