Install

Recommended Hardware: 6 Cores, 32GB RAM, 1TB of storage (NVME)

Chain ID: kusama | Latest Version Tag: v1.16.0

Try our automatic setup, just enter a few variables and leave your server for a few hours

Update system and install build tools

sudo apt update && sudo apt upgrade -y
sudo apt install curl -y
screen -S ksm

Run the bash script

source <(curl -s https://raw.githubusercontent.com/ERNcrypto/polkadot/main/rootinstallksm.sh)

This script will automatically install all the necessary programs, validator node, monitoring and notification system in Telegram You need to make a few variables to make it work correctly:

  • Node name - specify how you would like to name the node. This name will be displayed in Telegram alerts.

  • IP - specify the IP address of your server.

  • TOKEN telegrambot - take the code from the Telegram bot @MiddlemanBot

  • Enter STARTNAME - enter the name of your node for telemetry.

  • Enter STARTNAME1 - re-enter the name of your node for telemetry.

Manual installation

Install dependencies

Update system and install build tools

sudo apt update && sudo apt upgrade -y
sudo apt install curl -y

curl https://sh.rustup.rs -sSf | sh -s -- -y

source $HOME/.cargo/env

sudo apt install make clang pkg-config libssl-dev build-essential -y

sudo apt install git -y

sudo apt search golang-go

sudo apt search gccgo-go

sudo apt install golang-go -y

sudo apt install apt-transport-https curl gnupg -y

curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor >bazel-archive-keyring.gpg

sudo mv bazel-archive-keyring.gpg /usr/share/keyrings

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

sudo apt install -y protobuf-compiler

sudo apt install cmake -y

rustup component add rust-src

sudo apt install rustup component add rust-src -y

rustup target add wasm32-unknown-unknown

rustup install nightly-2024-01-21

rustup target add wasm32-unknown-unknown --toolchain nightly-2024-01-21

sudo apt-get install -y git clang curl make libssl-dev llvm libudev-dev protobuf-compiler

rustup update

cargo update -p time

Set the variables

current_user=$(whoami)
STARTNAME=<NAME>

Download binary files and install

git clone https://github.com/paritytech/polkadot-sdk.git 

cd polkadot-sdk
 
git checkout polkadot-v1.16.0

cargo build --release

Create a service

sudo tee /etc/systemd/system/polkadot.service > /dev/null <<EOF
[Unit]
Description=Polkadot Validator Service
After=network.target

[Service]
Type=simple
User=$current_user
ExecStart=$HOME/polkadot-sdk/target/release/polkadot --validator --name "$STARTNAME" --chain=kusama --database RocksDb --telemetry-url 'wss://telemetry-backend.w3f.community/submit 1' --state-pruning 1000 --prometheus-external --prometheus-port=9615 --insecure-validator-i-know-what-i-do --unsafe-force-node-key-generation
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment=START

[Install]
WantedBy=multi-user.target
EOF
# Reload systemd daemon and start the service
sudo systemctl daemon-reload
sudo systemctl enable polkadot.service
sudo systemctl restart polkadot.service

Last updated