ParaState Node Setup Guideline

Aleksandr Vorobev
3 min readMay 26, 2021

Hello for all nodes runners!

Let’s start!

Requirements

  • CPU: 2.0 GHz x86–64 CPU
  • Memory: 8GB RAM
  • Disk: 500GB High-Speed Storage (SSD)

First steps

Install some useful tools, you can skip this step if you have all of them

# Classic
apt update
apt install -y \
software-properties-common \
wget \
cmake \
ninja-build \
curl \
git \
libboost-all-dev \
llvm-dev \
liblld-10-dev \
clang

# Install nodejs
curl -sL https://deb.nodesource.com/setup_14.x | bash
apt install -y nodejs

# Install yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list
apt update && apt install -y yarn

# Install rust
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup update nightly && rustup update stable
rustup target add wasm32-unknown-unknown --toolchain nightly

Also you need to open some ports 30333, 9933, 9944

sudo ufw allow 30333
sudo ufw allow 9933
sudo ufw allow 9944

Get your keys

You need to generate and save!! sr25519 & ed25519 keys and addresses.

# Install subkey tool
curl https://getsubstrate.io -sSf | bash -s -- --fast
cargo install --force subkey --git https://github.com/paritytech/substrate --version 2.0.1 --locked
# Generate a mnemonic and see the sr25519 key and address
subkey generate --scheme sr25519
# Use the same mnemonic to see ed25519 key and address
subkey inspect --scheme ed25519 "<Your Mnemonic>"

Here is an example:

Secret phrase `word word word word word word word word word word word word` is account:
Secret seed: 0x......
Public key (hex): 0x....
Public key (SS58): abc....
Account ID: 0x....
SS58 Address: abc....

Run node

Choose your node name, in my case it was ‘biba’, and run this command:

# I use tmux for running node in a background
tmux new -s state
git clone https://github.com/ParaState/frontier.git
cd frontier
# Don't forget to replace 'biba' with your node name
cargo run — release — bin frontier-template-node — \
— execution=Native \
— base-path ./data \
— chain ./specs/2021–04–22-spec-raw.json \
— port 30333 \
— rpc-port 9933 \
— ws-port 9944 \
— validator \
— telemetry-url ‘wss://telemetry.polkadot.io/submit/ 0’ \
— name ‘biba’ \
— bootnodes /ip4/13.67.57.72/tcp/30333/p2p/12D3KooWNwpkJk3f4fUEc9cjSzLC5xE3opf25pjt7izfNGc1v5Tu

Wait until standart node output:

And then you can check your node here Polkadot Telemetry

Add key to your node

First you need to run command on your device with UI (your PC)

ssh -N -L 9944:127.0.0.1:9944 root@yourip

Now you will see all you need at Polkadot-JS Apps UI

Click Developer -> RPC Call then choose author and insertKey

Here you need your seed phrase and hex public keys of sr25519 and ed25519

  • keytype: aura
  • suri: <Your Mnemonic>
  • publicKey: <0x… Your Raw sr25519 Key>

And the same actions with ed25519

  • keytype: gran
  • suri: <Your Mnemonic>
  • publicKey: <0x… Your Raw ed25519 Key>

Also in the future you can make request to join validator set, if you have some tokens. Here is the link for request instructions

Thanks for reading!

--

--