What Is Geth?
Geth is a command line interface (CLI) for running an Ethereum node. It allows users to interact with the Ethereum blockchain, create and deploy smart contracts, transfer Ether between accounts, and more. Geth is written in Go programming language and runs on Windows, Mac OS X, Linux, FreeBSD and other operating systems.
Geth can be used as a full node or light client depending on user needs. As a full node it downloads the entire Ethereum blockchain which includes all transactions since its inception in 2015. This makes it possible to verify any transaction that has ever occurred on the network without relying on third-party services such as exchanges or wallets. Light clients are much faster but require trusting another party to provide accurate data from the blockchain; they do not download the entire chain like full nodes do.