Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now

Go Ethereum (short: Geth) is a Golang implementation of the Ethereum protocol.

Go Ethereum (short: Geth) is a Golang implementation of the Ethereum protocol. Geth is the most used client for Ethereum nodes currently.

Getting started

Getting started with Go Ethereum is simple, the only thing you require is the geth binary. Please refer to the developer documentation for a beginner tutorial on how to get started with the Go Ethereum API.

Building the source

For prerequisites and detailed build instructions please read the Installation Instructions on the wiki.

Building geth requires two external dependencies, Go and GMP. You can install them using your favourite package manager. Once the dependencies are installed, run

make geth


Go Ethereum comes with several wrappers/executables found in the cmd directory:

  • geth: Ethereum CLI (ethereum command line interface client)
  • bootnode: runs a bootstrap node for the Discovery Protocol
  • ethtest: test tool which runs with the tests suite
  • evm: is a generic Ethereum Virtual Machine
  • disasm: disassembles EVM code
  • rlpdump: prints RLP structures

Command line options

geth can be configured via command line options, environment variables and config files.

Geth comes with extensive build in help. To get the available options:

geth help

For further details on options, see the wiki.

history | excerpt history