Golang execution layer client for the Ethereum protocol with JSON-RPC access and private network support
LGPL-3.0
- Go
- C
- JavaScript

About Go Ethereum (Geth)
Go Ethereum, known as Geth, is the most widely used execution-layer client for the Ethereum protocol, written in Go. Running it makes a machine a full Ethereum node: it syncs the blockchain, validates transactions, and lets you query and interact with the network through a console or JSON-RPC instead of a hosted service.
Geth exposes both standard and geth-specific APIs over HTTP, WebSockets, and IPC. It runs in snap-sync mode by default, can be configured with TOML files, and supports private networks, a simulated backend, Dev Mode, and Kurtosis-based test networks.
Binaries are published for stable releases and the unstable master branch. The library code is licensed under LGPLv3, while the command-line binaries are licensed under GPLv3.
Key features
- Standard and geth-specific JSON-RPC APIs
- Access over HTTP, WebSockets, and IPC
- Interactive console for local node interaction
- Snap-sync mode enabled by default
- Private network and test network setup
Details
- On GitHub since
- 2013
- Role
- Ethereum execution client
- Language
- Go
- License
- LGPLv3 library, GPLv3 binaries
- Sync
- Snap-sync by default
- Platforms
- Windows, macOS, Linux
