3.3 KiB
title | permalink | sort_key |
---|---|---|
Getting Started with Geth | docs/getting-started | A |
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.
Downloading Geth
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 (abigen
, bootnode
,
disasm
, evm
, rlpdump
). Read our
README
for more information about
these executables.
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 account
command.
Sync modes
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 --syncmode "{mode}"
argument that determines what sort of node it is in the network.
These are:
- 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.
For example:
geth --syncmode "light"
Javascript Console
Once you have an account and Geth is running, you can interact with it by opening another terminal and using the following command to open a JavaScript console:
geth attach
In the console you can issue any of the Geth commands, for example, to list all the accounts on the node, use:
> eth.accounts
You can also enter the console directly when you start the node with the console
command:
geth console --syncmode "light"