Setting up a validator node in Polkadot PoC-1

TL;DR: a short list of instructions, but basically the same steps as Gav wrote on GitHub. FYI, I started from a fairly clean install of Ubuntu.

To make things easy I will put all the necessary commands into code blocks, plus I have included pictures of how those commands look when they run. This blog posts originally appeared as a thread on Twitter.

Getting Started

First off I’ll provide an overview of all the commands in a single picture. It is worth kicking things off with an ‘apt-get update’, while it is not strictly necessary it is good practise to keep things up-to-date. Too many times I’ve had installations fail because a dependency wasn’t the latest version.

All instructions in one place!

Get the latest version of Rust

First get started by installing the latest version of Rust:

curl https://sh.rustup.rs -sSf | sh
Install the latest version of Rust.

Once you’ve installed Rust, you need to add it to your path (rebooting should work too) and then check that it was correctly added. You should see something similar to the following picture.

source $HOME/.cargo/env
echo $PATH
Add Rust to your path.

Install Clang

The next step is to install Clang. I have to admit that I’m not familiar with Clang, it is in the GitHub instructions, and Googling reveals: “Clang is a compiler front end for C, C++ etc”. The following also makes sure you have the latest version of ‘make’.

sudo apt install make clang
Install Clang.

Download and install Polkadot PoC-1

Finally, download and install the @polkadotnetwork PoC-1 code:

cargo install --git https://github.com/paritytech/polkadot.git --branch v0.1
Download and install the Polkadot PoC-1 code.

Run the code!

Hopefully, you have made it this far and can run the Polkadot PoC-1 code. Exciting, I know! The following picture shows my computer syncing with the global testnet and with that you can celebrate. 🍾 🎉

polkadot --chain=poc-1
Run Polkadot and join the global testnet!

Public User Interface

It is also possible to play with the public UI written by Jaco (Parity Technologies): here.

Public UI for Polkadot PoC-1

To do anything on the testnet, you will need some testnet DOTs. Stop by our Riot channel to get some! You will need to know your address when asking for DOTs. The address that corresponds to your node can be found by navigating to the Accounts section in the UI. It would be wise to save your seed somewhere as clearing cookies will delete the seed.

If you plan to stake, you will need more testnet DOTs than the lowest staked validator, currently staking 24,901 testnet DOTs. In POC-1, there are 12 validators. You can query the addresses of the current validator set and query the balances of those addresses here. New validators are chosen every 24 hours based on their stake.

Current Validator Set

Once you have your DOTs you need to navigate to https://poc-1.polkadot.io/#/extrinsics and Submit Extrinsic to stake > Select Address > staking > stake().

Submit intention to stake

Now you are in the queue on https://poc-1.polkadot.io/#/storage > staking > intentions().

Accounts in staking queue

Questions / Comments?

You can reply to me here on Medium, or reach out to me on Twitter: @EAThomson.