Step by step ParaState Testnet Node Setup Guideline

Hello to all spartans and future Parastate node operators. This is my simple and easy guide to start Parastate node.

First of all, I was using official guide: https://github.com/ParaState/frontier/wiki/ParaState-Testnet-Node-Setup-Guideline#add-your-key-to-your-parastate-node

Next is to get right hardware:

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

In this tutorial I’m gonna use DigitalOcean and MobaXterm. Let’s create a droplet after setting DigitalOcean account (Ubuntu 20.04). Use password as an authentication.

Copy address and create new ssh connection in MobaXTerm with username root.

I’m was using manual installation as it is in github link.

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

Next step is to generate and save sr25519 and ed25519 key and adress.

# 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>"

Use tmux to run node when you will close MobaxTerm.

tmux new -s state
git clone https://github.com/ParaState/frontier.git
cd frontier
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 '<Your Node Name>' \
--bootnodes /ip4/13.67.57.72/tcp/30333/p2p/12D3KooWNwpkJk3f4fUEc9cjSzLC5xE3opf25pjt7izfNGc1v5Tu

Check yourself at Polkadot Telemetry!

Run command (your PC!) with this:

ssh -N -L 9944:127.0.0.1:9944 root@xx.xx.xx.xx

This is going to connect your IP with node so you can see yourself at Polkadot-JS Apps UI.

Developer -> RPC Call and choose author and insertKey

At this step we will need our generated sr25519 and ed25519 keys.

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

+

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

Final step is to join validator set.

Developer -> RPC Call and choose author and rotateKeys()

Submit and copy result.

Developer -> Extrinsics and choose session and setKeys(keys, proof). Paste copied hex value (rotate keys) to keys field and set 0x00 to the proof field.

At this step we cannot submit transaction as we are waiting for test tokens.

I hope this tutorial was useful! Spartans!