# Run a Node
Run a local node and start the REST and JSON-RPC clients
# Pre-requisite Readings
# Automated deployment
Run the local node
The script below will remove any pre-existing binaries installed. Use the manual deploy if you want to keep your binaries and configuration files.
In another terminal window or tab, run the Ethereum JSON-RPC server as well as the SDK REST server:
# Manual deployment
The instructions for setting up a brand new full node from scratch are the the same as running a single node local testnet.
# Start node
To start your node, just type:
# Key Management
To run a node with the same key every time: replace ethermintcli keys add $KEY
in ./init.sh
with:
Ethermint currently only supports 24 word mnemonics.
You can generate a new key/mnemonic with:
To export your ethermint key as an ethereum private key (for use with Metamask for example):
For more about the available key commands, use the --help
flag
# Keyring backend options
The instructions above include commands to use test
as the keyring-backend
. This is an unsecured
keyring that doesn't require entering a password and should not be used in production. Otherwise,
Ethermint supports using a file or OS keyring backend for key storage. To create and use a file
stored key instead of defaulting to the OS keyring, add the flag --keyring-backend file
to any
relevant command and the password prompt will occur through the command line. This can also be saved
as a CLI config option with:
# Clearing data from chain
# Reset Data
Alternatively, you can reset the blockchain database, remove the node's address book files, and reset the priv_validator.json
to the genesis state.
If you are running a validator node, always be careful when doing ethermintd unsafe-reset-all
. You should never use this command if you are not switching chain-id
.
IMPORTANT: Make sure that every node has a unique priv_validator.json
. Do not copy the priv_validator.json
from an old node to multiple new nodes. Running two nodes with the same priv_validator.json
will cause you to double sign!
First, remove the outdated files and reset the data.
Your node is now in a pristine state while keeping the original priv_validator.json
and config.toml
. If you had any sentry nodes or full nodes setup before, your node will still try to connect to them, but may fail if they haven't also been upgraded.
# Delete Data
Data for the Daemon and CLI binaries should be stored at ~/.ethermintd
and ~/.ethermintcli
, respectively by default. To delete the existing binaries and configuration, run:
To clear all data except key storage (if keyring backend chosen) and then you can rerun the full node installation commands from above to start the node again.
# Next
Learn about running a Ethermint testnet