Solidity is a smart contract programming language. It was developed by Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, and several Ethereum core contributors. It is a JavaScript-like, general-purpose language designed to target the Ethereum virtual machine (EVM). Solidity is one of four languages in the Ethereum protocol at the same level of abstraction, the others being Serpent (similar to Python), LLL (Lisp-like language), Vyper (experimental), and Mutan (deprecated). The community has slowly converged on solidity. Usually, if anyone today talks about smart contracts in Ethereum, they implicitly mean solidity.
In this chapter, we will discuss the following topics:
- What is solidity?
- Tools for the solidity development environment
- Introduction to smart contracts
- Common smart contract patterns
- Smart contract security
- Case study ...