Wallets and client software
As Ethereum is under heavy development and evolution, there are many components, clients, and tools that have been developed and introduced over the last few years.
Wallets
A wallet is a generic program that can store private keys and, based on the addresses stored within it, it can compute the existing balance of ether associated with the addresses by querying the blockchain. It can also be used to deploy smart contracts. In this chapter, we will introduce the MetaMask wallet, which has become the tool of choice for developers.
Having discussed the role of wallets within Ethereum, let's now discuss a number of common clients. The following is a non-exhaustive list of the client software and wallets that are available with Ethereum.
Geth
This is the official Go implementation of the Ethereum client.
The latest version is available at the following link: https://geth.ethereum.org/downloads/.
There are other implementations including C++ implementation...