Geth (go-ethereum)

Geth (short for go-ethereum) is the official Go language implementation of the Ethereum protocol. It is one of the original Ethereum clients — active since the Frontier mainnet launch in July 2015 — and remains the most widely used Ethereum execution client.


What Geth Does

Geth is an execution client: it processes the computational and data side of the Ethereum network.

ResponsibilityDetail
Transaction validationChecks signatures, nonces, and balances before accepting transactions
EVM executionRuns EVM bytecode for smart contract calls and deployments
State managementMaintains the global world state (account balances, contract storage) in a Merkle Patricia Trie
Peer-to-peer syncConnects to other nodes via the devp2p protocol; syncs blocks and transactions
JSON-RPC APIExposes endpoints for wallets, dApps, and developer tools (eth_sendTransaction, eth_call, etc.)

Execution / Consensus Split (post-Merge)

Since The Merge (September 2022), Ethereum separates two responsibilities:

  • Execution layer (Geth): processes transactions, runs the EVM, computes state roots
  • Consensus layer (e.g., Lighthouse, Prysm): manages proof-of-stake validator coordination, block proposals, and finality

Geth communicates with the consensus client via the Engine API. Running both together forms a complete Ethereum full node.


Why Run Geth?

The Geth team’s motto: “Don’t trust, verify.”

Running your own Geth node means:

  • No reliance on third-party RPC providers (e.g., Infura, Alchemy) — self-sovereignty
  • You can verify all Ethereum state yourself
  • You contribute to network decentralisation

Key Facts

DetailValue
LanguageGo
LicenseLGPL-3.0
Repositorygithub.com/ethereum/go-ethereum
FundingEthereum Foundation (exclusively)
Team size~10 developers distributed globally
Active sinceJuly 2015 (Frontier)

Sources

Related concepts: ethereum | ethereum-virtual-machine | proof-of-stake | smart-contracts Related entities: ethereum-foundation