Getting Started with Geth
To use Geth, you need to install it first. You can install the geth software in a variety of ways. These include installing it via your favorite package manager; downloading a standalone pre-built binary; running as a docker container; or building it yourself.
For this tutorial, we’ll assume you are comfortable with downloading a pre-built binary. Head over to the install and build section and follow the instructions for your operating system if you wish to use a different installation method.
We distribute all our stable releases and development builds as standalone binaries. These are useful for scenarios where you’d like to: a) install a specific version of our code (e.g., for reproducible environments); b) install on machines without internet access (e.g., air gapped computers); or c) do not like automatic updates and would rather manually install software.
To download Geth, go to the Downloads page and select the latest stable release matching your platform.
We create the following archives:
- 32bit, 64bit, ARMv5, ARMv6, ARMv7 and ARM64 archives (
.tar.gz) on Linux
- 64bit archives (
.tar.gz) on macOS
- 32bit and 64bit archives (
.zip) and installers (
.exe) on Windows
For all binaries we provide two options, one containing only Geth, and another containing
Geth along with all the developer tools from our repository (
rlpdump). Read our
README for more information about
Creating an account
Before starting Geth you first need to create an account that represents a key pair. Use the following command to create a new account and set a password for that account:
geth account new
Read this guide for more details on importing
existing Ethereum accounts and other uses of the
Running Geth starts an Ethereum node that can join any existing network, or create a new
one. You can start Geth in one of three different sync modes using the
argument that determines what sort of node it is in the network.
- Full: Downloads all blocks (including headers, transactions and receipts) and generates the state of the blockchain incrementally by executing every block.
- Fast (Default): Downloads all blocks (including headers, transactions and receipts), verifies all headers, and downloads the state and verifies it against the headers.
- Light: Downloads all block headers, block data, and verifies some randomly.
geth --syncmode "light"
In the console you can issue any of the Geth commands, for example, to list all the accounts on the node, use:
You can also enter the console directly when you start the node with the
geth console --syncmode "light"