-
Notifications
You must be signed in to change notification settings - Fork 85
How to run a Grin node
This page is intended to provide basic instructions on how to get started running a Grin node.
- 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
- if rust is already installed, you can simply update version with
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.
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
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.
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.
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
.
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
Basics
- Getting Started
- User Documentation
- MimbleWimble
- FAQ
- Planned releases (Roadmap)
- Code of Conduct
Contributing
- Contributing Guide
- Code Structure
- Code coverage and metrics
- Code Reviews and Audits
- Adding repos to /mimblewimble
Development
Mining
Infrastructure
Exchange integrations
R&D
Grin Community
Grin Governance
Risk Management
Grin Internals
- Block Header Data Structure
- Detailed validation logic
- P2P Protocol
Misc