go-ethereum

skip to content

downloads

documentation

Introduction

Hardware requirements

Installing Geth

Consensus clients

Introduction

Node architecture

Command-line options

Security

Sync-modes

Beacon light sync

Account management

Databases

Backup & restore

Logs

Connecting to peers

Pruning

Private networks via Kurtosis

Private networks

Config files

Mining

JSON-RPC Server

Introduction

Batch requests

Real-time Events

JSON-RPC Namespaces

admin

clique

debug

eth

les

miner (deprecated)

net

personal (deprecated)

txpool

objects

JS Console

JS Console 2: Contracts

GraphQL server

Introduction

Dapp developers

Dev mode

Go API

Go Account Management

Go Contract Bindings

Go Contract Bindings (v2)

Geth for Mobile

EVM tracing

Introduction

Basic traces

Built-in tracers

Custom EVM tracer

Live tracing

Tutorial for Javascript tracing

Geth developer

Developer guide

Disclosures

DNS discovery setup guide

Code review guidelines

Contributing

Creating Dashboards

Understanding Dashboards

Ethstats

Metrics

Clef

Introduction

APIs

Rules

Setup

Datatypes

Tutorial

Clique-signing

abigen

devp2p

puppeth

Introduction

Hardware requirements

Installing Geth

Consensus clients

Introduction

Node architecture

Command-line options

Security

Sync-modes

Beacon light sync

Account management

Databases

Backup & restore

Logs

Connecting to peers

Pruning

Private networks via Kurtosis

Private networks

Config files

Mining

JSON-RPC Server

Introduction

Batch requests

Real-time Events

JSON-RPC Namespaces

admin

clique

debug

eth

les

miner (deprecated)

net

personal (deprecated)

txpool

objects

JS Console

JS Console 2: Contracts

GraphQL server

Introduction

Dapp developers

Dev mode

Go API

Go Account Management

Go Contract Bindings

Go Contract Bindings (v2)

Geth for Mobile

EVM tracing

Introduction

Basic traces

Built-in tracers

Custom EVM tracer

Live tracing

Tutorial for Javascript tracing

Geth developer

Developer guide

Disclosures

DNS discovery setup guide

Code review guidelines

Contributing

Creating Dashboards

Understanding Dashboards

Ethstats

Metrics

Clef

Introduction

APIs

Rules

Setup

Datatypes

Tutorial

Clique-signing

abigen

devp2p

puppeth

# Welcome to go-ethereum

Last edited on December 15, 2022

Go-ethereum (aka Geth) is an Ethereum client built in Go. It is one of the original and most popular Ethereum clients. These documentation pages are intended to help users download, install and use Geth.

## Where to go from here

First, make sure you have sufficient hardware, then download and install Geth. Make sure you are familiar with the security considerations and have your firewall set up.

If you are just starting out with Geth, head to the Getting started page. That page guides new users through some basic functions of Geth such as creating and securing accounts and making a transaction.

Then, it is recommended to read the material in the Fundamentals section - these pages will help build a foundational understanding of how Geth works from a user perspective and under the hood.

More advanced topics are also available - explore them using the sidebar!

## Developers and contributors

If you want to help develop Geth or build decentralized apps on top of it, head to our Developer documentation.

## More resources

We have a library of videos and articles on our Resources page and answers to common questions on the FAQs page.

on this page

Where to go from here

Developers and contributors

More resources

DOWNLOADS

DOCUMENTATION

© 2013–2025. The go-ethereum Authors | Do-not-Track

Welcome to go-ethereum | go-ethereum