Skip to content

How to run a Grin node

Paouky edited this page Aug 4, 2020 · 19 revisions

This page is intended to provide basic instructions on how to get started running a Grin node.

Prerequisites

  • Linux (x86-64 only) or MacOS
  • Relatively recent hardware
  • Some Linux command line knowledge very helpful
  • rust 1.31+ (use rustup- i.e. curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env)
    • if rust is already installed, you can simply update version with rustup update

Downloading the Software

The latest Grin release can be found on the project Release Page. Binaries are currently provided for Linux and OSX.

Distribution-specific releases will likely appear over time, and will be listed here.

Installation

Linux (all distributions)

Download the zipped binary to your machine, and unzip it using the terminal. This will unzip a single file called grin, which contains both the server and wallet software.

For now, we'd recommend placing this somewhere relative to your home directory, and editing your path environment variable to ensure the grin executable is available from wherever you run it. All of this can be done by running the following commands in the directory to which you downloaded grin.

mkdir -p ~/grin
tar xzf grin-v1.0.0-479973573-linux-amd64.tgz -C ~/grin
echo export 'PATH=~/grin:$PATH' >> ~/.bashrc
source ~/.bashrc

Running a Grin Node

After following the installation steps, simply run Grin:

grin

Or, to run a Floonet (i.e. test network) node:

grin --floonet

And that is it! The Grin TUI (Text-User-Interface) should appear and your node should automatically sync up with the blockchain.

Configuring your Grin node

By default, your Grin node keeps all of its configuration files and data in the ~/.grin directory under your user home. The main server configuration file can be found in the file ~/.grin/main/grin-server.toml (~/.grin/floo/grin-server.toml for Floonet). This file is fully documented, and contains many configuration options for your Grin server. Leaving these values at their defaults should work for most people who simply want to run a node.

Running from a Custom Directory

You can also keep Grin's data and configuration files in a custom directory. From the directory in which you want Grin to store its files, run:

grin server config

This will create a grin-server.toml file in the current directory that is configured to place its data files in the same directory. The grin command will always check the current directory for a grin-server.toml file, and if one is found it will use it instead of ~/.grin/main/grin-server.toml.

Further Help

You can view further details on the various commmand-line options available from grin using the help command:

grin help
grin client help
grin server help
Clone this wiki locally