Navigate:
Go Ethereum
~$GOE0.1%

Go Ethereum: Golang Ethereum protocol implementation

Golang execution layer implementation of the Ethereum protocol, providing the geth client and developer tools.

LIVE RANKINGS • 03:09 AM • STEADY
OVERALL
#314
150
CRYPTO
#15
9
30 DAY RANKING TREND
ovr#314
·Crypt#15
STARS
50.8K
FORKS
21.8K
7D STARS
+33
7D FORKS
+1
Tags:
See Repo:
Share:

Learn more about Go Ethereum

Go Ethereum is a Golang implementation of the Ethereum protocol's execution layer. It provides the geth client, which can operate as a full node, archive node, or light node on Ethereum networks. The implementation includes JSON RPC endpoints over HTTP, WebSocket, and IPC transports for blockchain interaction. It comes with developer utilities including contract ABI generators, EVM debugging tools, and P2P networking utilities.

Go Ethereum

1

Multiple Node Types

Supports full node, archive node, and light node configurations with different sync modes including snap sync for faster initial synchronization.

2

Developer Toolchain

Includes abigen for contract bindings, standalone EVM for bytecode debugging, and devp2p utilities for network layer interaction.

3

Multi-Transport RPC

Exposes JSON RPC endpoints over HTTP, WebSocket, and IPC transports with built-in JavaScript console for direct blockchain interaction.


# Install prerequisites: Go 1.23+ and C compiler
# Clone the repository
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum

# Build just the geth client
make geth

# Or build all utilities (geth, clef, devp2p, abigen, evm, rlpdump)
make all


vv1.16.8

Moisture Filters (v1.16.8)

  • Pre-built binaries for all platforms on our downloads page.
  • Docker images published under `ethereum/client-go` (use "stable" tag).
  • Ubuntu packages in our Launchpad PPA repository.
  • macOS packages in our Homebrew Tap repository.
vv1.16.7

Ballistic Drift Stabilizer (v1.16.7)

  • BPO1 on`2025-12-09`
  • BPO2 on `2026-01-07`
  • Set mainnet timestamps for Osaka (#33063)
  • Enable Fusaka for `geth --dev` mode (#32917)
  • Add `eth_sendRawTransactionSync` which waits until either a timeout or the transaction is mined. This feature is mostly useful on L2s with lower blocktimes. (#32830, #32930, #32929)
vv1.16.6

Leather Wrapping (v1.16.6)

  • Set mainnet timestamps for Osaka (#33063)
  • Enable Fusaka for `geth --dev` mode (#32917)
  • Add `eth_sendRawTransactionSync` which waits until either a timeout or the transaction is mined. This feature is mostly useful on L2s with lower blocktimes. (#32830, #32930, #32929)
  • Add support for `eth_simulateV1` in ethclient (#32856)
  • Fix for an issue that might crash `debug_traceCall` (#33015)


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers