go-ethereum

(★ 51,306)

Go implementation of the Ethereum protocol

File Explorer

  • .dockerignore
  • .gitattributes
  • .gitignore
  • .gitmodules
  • .golangci.yml
  • .mailmap
  • AGENTS.md
  • AUTHORS
  • COPYING
  • COPYING.LESSER
  • Dockerfile
  • Dockerfile.alltools
  • go.mod
  • go.sum
  • interfaces.go
  • Makefile
  • oss-fuzz.sh
  • README.md
  • SECURITY.md

# Installation Guide

go
Prerequisites

Setup Steps

make geth

Build the geth executable.

make all

Build the full suite of utilities.

geth console

Start geth in snap sync mode with the JavaScript console.

geth --holesky console

Run geth connected to the Holesky test network.

docker run -d --name ethereum-node -v /Users/alice/ethereum:/root -p 8545:8545 -p 30303:30303 ethereum/client-go

Run geth node using Docker.

Key Commands

make geth

Build the main geth binary.

make all

Build all go-ethereum utilities.

geth console

Connect to mainnet and run the JavaScript console.

geth --holesky console

Connect to Holesky testnet and run the console.

docker run -d --name ethereum-node -p 8545:8545 ethereum/client-go

Run the geth node as a Docker container.

Mainnet synchronization requires at least 1TB of free storage and 8GB+ RAM.

# Use via CDN

jsDelivr

jsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.

Command Glossary

Commands referenced in this DOCs, explained below.

🔍

docker run

View Details ▼

This command is an alias of `docker container run`.

tldr docker container run

View documentation for the original command:

🔍

geth

View Details ▼

The go-ethereum command-line interface.

geth

Connect to the main Ethereum network and automatically download the full node:

geth --testnet

Connect to the Ropsten test network:

geth account new

Create a new account:

🔍

alpine

View Details ▼

An email client and Usenet newsgroup program with a pico/nano-inspired interface.
Supports most modern email services through IMAP.

alpine

Open alpine normally:

alpine {{[email protected]}}

Open alpine directly to the message composition screen to send an email to a given email address:

<q><y>

Quit alpine:

// repository documentation