Setting up a validator node in Polkadot PoC-1

Edward A Thomson
Jun 26, 2018 · 4 min read

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.

Image for post
Image for post
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
Image for post
Image for post
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
Image for post
Image for post
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
Image for post
Image for post
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
Image for post
Image for post
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
Image for post
Image for post
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.

Image for post
Image for post
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.

Image for post
Image for post
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().

Image for post
Image for post
Submit intention to stake

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

Image for post
Image for post
Accounts in staking queue

Questions / Comments?

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

Polkadot Network

Medium account/ publication of the Polkadot Network

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store