How to run a Grin-node on Windows 10

in #mimblewimble2 years ago (edited)

Dear future Grin node operator,

Here is a guide to help you get started with running a full Grin node on a different OS than is supported at the time (give the devs some time). This will allow you to fully validate any incoming transaction on the Grin Network by checking the blocks and enforcing consensus rules. You will be independent of any shady exchange and won't lose your dearly earned (or mined) grin when (not if!) the third party that holds the grin now goes down...

  • First step:
    Download and install the VirtualBox software which allows you to run a virtual machine on which to install a supported linux distribution.
    I've given it 4GB of memory, NAT internet access and 100GB of scaling discspace.
  • Second step:
    Download a supported Linux distro, I would recommend Ubuntu 18.10 (it works for me): and install this on a new virtualbox.
    You can select the .iso file as installation disc/mount that will auto-run when you start up the new VirtualBox. Follow the instructions while installing the Ubuntu OS.
  • Third step:
    Now that you have a suitable Linux environment (e.g. Ubuntu 18.x) it is time to get started!
    Open the Terminal:

Follow the install instructions on:
For which you'll have to download the latest release of grin (or build your own - only recommend that to advanced Linux/git users) for me this was 1.0.0 :

wget ""

With checksum: f8e3f4711496b14653ebd982ac13ea3e grin-v1.0.0-479973573-linux-amd64.tgz

Unpack with:

tar xzf grin-v1.0.0-479973573-linux-amd64.tgz

This should look similar (maybe in a different directory, that is OK) to:
And finally run with:

./grin server run


You'll be presented with this beautiful classic TUI (text user interface) with which you can monitor the initial blockchain download and see what other peers are connected with you at the moment.

Incase you want to set some custom server configurations:

./grin server config

With the most important variable to make sure you are visible on the P2P network:

To secure your funds it is very important to write down on paper your mnemonic that is generated when you initialize your wallet for the first time with:

./grin wallet init
*don't use the same phrase as in the image above, it is no longer a secret (:

Also wallet configuration has to be changed before you can listen for http payments:

cat ~/.grin/main/grin-wallet.toml
(I used the Text Editor for this: gedit ~/.grin/main/grin-wallet.toml )

Make sure to set the listening address to before requesting a http payment from your exchange or mining pool, like this:

Or run with FLAG --external, -e for without the need to edit first:

grin wallet -e listen

*one more tip, check if your node is visible on port 3415 on:

Congratulations!!! You should now be an independent, validating node operator tongue tied rip vector clean.png


Congratulations @krav! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 10 posts. Your next target is to reach 20 posts.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Support SteemitBoard's project! Vote for its witness and get one more award!

For some users the ./grin command does not show the TUI / user interface, but instead show nothing or a core dump. Make sure you are running on a 64-bit OS and 64-bit compatible processor (especially old processors might not support the required commands).

With the latest windows 10 updates, I've found that the Ubuntu Server 18.04.1 is working much better than the Desktop in VirtualBox. So incase you have trouble getting Step 2. to work use:

Latest version 1.0.2:
Update recommended, unpack in a new directory:

mkdir grin_v102
cd grin_v102
wget ""
tar zxf "grin-v1.0.2-498013739-linux-amd64.tgz"

How to port forward:
Grin protocol uses ports 3413 through 3417 for various actions, like connecting to peers, sending and receiving txs.

If you need help sending grin from the wallet:

grin wallet send -h

Builds a transaction to send coins and sends to the specified listener directly

grin wallet send [FLAGS] [OPTIONS] [amount]