What Is Geth?


Gath is a multipurpose command line tool that runs a full Ethereum node implemented in Go. It offers three interfaces: the command line subcommands and options, a JSON-RPC compatible HTTP interface, and an interactive console for debugging and private interaction with the Ethereum network using get attach. 


The two most common ways to interact with Gath are through RPC or installing one of its many UI clients. Gath is the underlying code that runs Ethereum and acts as the gateway to interacting with the Ethereum block chain. The three components included in Gath, and those described further below, are essential to using any daps on the Ethereum blockchain.


When you first install get, it will only contain a web3 object and an IPC endpoint for running multiple nodes locally (not covered here) or remotely via RPC (covered below). However, by default, Gath comes with a few modules for running Ethereum.


These include eth, the C++ client interface, and web3, which provide an object-oriented JavaScript interface for creating contracts and sending transactions via RPC. It also includes two modules, ethos and RPC, for running a local blockchain node locally with ethos enabled (for Proof of Work mining) and an IPC endpoint.


Gath is not just one program but rather a multipurpose command line tool that runs everything needed to maintain the Ethereum network. This includes the functions described above as well as many others. All of this code is written in Go which makes it cross-platform compatible.