Architecture overview
Since The Merge, Ethereum separates responsibilities between two layers:- Execution layer — handles transactions, state, and the EVM. Geth is an execution layer client.
- Consensus layer — handles proof-of-stake block validation and finality (Beacon Chain). A separate consensus client is required.
Hardware requirements
- Minimum
- Recommended
| Component | Requirement |
|---|---|
| CPU | 4+ cores |
| RAM | 8 GB |
| Storage | 1 TB free space |
| Network | 8 MBit/sec download |
Included executables
The go-ethereum project ships several executables in thecmd/ directory:
| Executable | Description |
|---|---|
geth | Main Ethereum CLI client. Full node, archive node, or dev mode. Exposes JSON-RPC over HTTP, WebSocket, and IPC. |
clef | Stand-alone signing tool. Can be used as an external signer backend for geth. |
devp2p | Utilities for interacting with nodes at the networking layer without running a full blockchain. |
abigen | Source code generator that converts Ethereum contract ABIs into type-safe Go packages. |
evm | Developer utility for running EVM bytecode in a configurable environment. Useful for isolated opcode debugging. |
rlpdump | Converts binary RLP-encoded data into a human-readable hierarchical representation. |
Explore the docs
Installation
Install Geth on Linux, macOS, or Windows using package managers, pre-built binaries, or from source.
Quickstart
Connect to the Ethereum mainnet or a testnet and attach a console in minutes.
JSON-RPC API
Interact with your node over HTTP, WebSocket, or IPC using the standard Ethereum JSON-RPC API.
Go Library
Use the go-ethereum packages to build Ethereum-native applications in Go.
