geth
official Go implementation of Ethereum protocol
TLDR
Start Ethereum node
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.
