LinuxCommandLibrary

geth

official Go implementation of Ethereum protocol

TLDR

Start Ethereum node

$ geth
copy
Sync mainnet
$ geth --syncmode [snap]
copy
Start with console
$ geth console
copy
Attach to running node
$ geth attach
copy
Create new account
$ geth account new
copy

SYNOPSIS

geth [options] [command]

DESCRIPTION

geth (go-ethereum) is the official Go implementation of the Ethereum protocol. It runs a full Ethereum node, enabling blockchain synchronization, transaction validation, mining operations, and smart contract deployment.
The client provides multiple sync modes: "snap" for fast syncing with state snapshots and "full" for complete blockchain validation. Light sync mode is deprecated and non-functional since the Merge to proof-of-stake. It exposes JSON-RPC APIs over HTTP, WebSocket, and IPC for application integration.
geth includes an interactive JavaScript console for direct blockchain interaction, account management for creating and managing Ethereum wallets, and support for both mainnet and test networks. It's the most widely used Ethereum client for running production nodes and development environments.

PARAMETERS

COMMAND

Subcommand: console, attach, account, etc.
--syncmode MODE
Sync mode: full, snap (light mode is deprecated post-Merge).
--datadir PATH
Data directory.
--http
Enable HTTP RPC.
--ws
Enable WebSocket RPC.
console
Interactive JavaScript console.
attach
Attach to running node.
account CMD
Account management.
--help
Display help information.

CAVEATS

Full sync requires significant disk space. Resource intensive. Mainnet sync takes time.

HISTORY

geth is developed by the Ethereum Foundation as the official Go implementation. It was one of the original Ethereum clients and remains the most popular for running nodes.

SEE ALSO

eth(1), solc(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard

> TERMINAL_GEAR

Curated for the Linux community