Hello to all spartans and future Parastate node runner. 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>"
The result is:
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
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.