How to run a Grin-node on Windows 10

in #mimblewimble5 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 https://www.virtualbox.org/wiki/Downloads 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): https://www.ubuntu.com/download/desktop 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:
    image.png

Follow the install instructions on: https://github.com/mimblewimble/docs/wiki/how-to-run-a-grin-node#linux-all-distributions
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 "https://github.com/mimblewimble/grin/releases/download/v1.0.0/grin-v1.0.0-479973573-linux-amd64.tgz"

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

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:
image.png
And finally run with:

./grin
or
./grin server run

image.png

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:
image.png

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
image.png
*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 )
image.png

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

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: https://www.yougetsignal.com/tools/open-ports/

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

Sort:  

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: http://cdimage.ubuntu.com/releases/18.04.1/release/
image.png

Latest version 1.0.2: https://github.com/mimblewimble/grin/releases/download/v1.0.2/grin-v1.0.2-498013739-linux-amd64.tgz
Update recommended, unpack in a new directory:

mkdir grin_v102
cd grin_v102
wget "https://github.com/mimblewimble/grin/releases/download/v1.0.2/grin-v1.0.2-498013739-linux-amd64.tgz"
tar zxf "grin-v1.0.2-498013739-linux-amd64.tgz"
./grin

How to port forward:
Grin protocol uses ports 3413 through 3417 for various actions, like connecting to peers, sending and receiving txs.
See: https://www.wikihow.com/Set-Up-Port-Forwarding-on-a-Router

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

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