ethereum/go-ethereum

Go implementation of the Ethereum protocol

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 19 minutes ago
Added to GitGenius on March 10th, 2026
Created on December 26th, 2013
Open Issues & Pull Requests: 414 (+0)
Number of forks: 22,099
Total Stargazers: 51,282 (+0)
Total Subscribers: 2,228 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 25.1 hours
Mean response time: 185.2 days
90th percentile: 773.8 days
Tracked items: 1,106

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 84% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "type:docs" is answered fastest, typically in about 19 hours, while "need more information" waits about 12 months. 47% of tracked open issues have had no activity in three months. Only 6% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 143
New in 7 days: 11
Closed in 7 days: 4
Avg open age: 575 days
Stale 30+ days: 126
Stale 90+ days: 108

Recent activity

Opened in 7 days: 10
Closed in 7 days: 4
Comments in 7 days: 7
Events in 7 days: 18

Top labels

  • type:bug (470)
  • type:docs (225)
  • type:feature (197)
  • help wanted (30)
  • status:triage (28)
  • need more information (21)
  • good first issue (16)
  • rpc (9)

Detailed Description

Go Ethereum is the official Go implementation of the Ethereum protocol's execution layer. The project provides a complete Ethereum client implementation that enables users to participate in the Ethereum network as full nodes, archive nodes, or light nodes. The primary executable, geth, serves as the main entry point into the Ethereum network and can operate on the main network, test networks like Holesky, or private networks. Beyond the core client, the project includes several specialized utilities: devp2p for networking layer interaction without running a full blockchain, abigen for generating type-safe Go bindings from Ethereum contract ABIs or Solidity source files, evm for isolated debugging of Ethereum Virtual Machine opcodes, and rlpdump for converting binary RLP encoded data into human-readable hierarchical format.

The repository is written in Go and requires Go version 1.23 or later along with a C compiler for building. Geth exposes JSON-RPC APIs through multiple transport mechanisms including HTTP, WebSocket, and IPC, allowing both interactive console access and programmatic interaction with the Ethereum network. The client supports multiple synchronization modes, with snap sync as the default option that prioritizes speed by downloading data while avoiding the CPU-intensive processing of the entire network history. Users can configure geth through command-line flags or configuration files, and the project provides Docker images for quick deployment.

The repository is classified across multiple domains including Ethereum, Blockchain, Client, Node, Protocol, Smart Contracts, Transactions, Decentralized, Go, and Web3, reflecting its comprehensive role in the Ethereum ecosystem.

Hardware requirements for running geth range from a minimum of 4+ CPU cores, 8GB RAM, and 1TB storage for mainnet synchronization, to recommended specifications of 8+ cores, 16GB+ RAM, and high-performance SSDs for optimal performance. The project maintains automated builds for both stable releases and the unstable master branch, with binary archives published at geth.ethereum.org/downloads/, making deployment accessible to users across different platforms and use cases.