Introduction
Ethereum was conceptualized by Vitalik Buterin in November 2013. The key idea proposed was the development of a Turing-complete language that allows the development of arbitrary programs (smart contracts) for blockchain and decentralized applications. This is in contrast to bitcoin, where the scripting language is very limited and allows basic and necessary operations only.
Ethereum clients and releases
Various Ethereum clients have been developed using different languages and currently most popular are go-Ethereum and parity. go-Ethereum was developed using Golang, whereas parity was built using Rust. There are other clients available too, but usually, the go-Ethereum client known as geth is sufficient for all purposes. Mist is a user-friendly Graphical User Interface (GUI) wallet that runs geth in the background to sync with the network. More details on this will be provided later in the chapter, in the installation and mining section.
The first release of Ethereum was known...