Validators
Stakeworld
All of Stakeworld's validators operate on dedicated bare-metal hardware across various data centers. Each machine meets, and often exceeds, the minimum hardware requirements recommended by the Polkadot wiki.
Loading validator status...
Set up your own polkadot node
First you will need a working server setup. We advise an ubuntu 24.04 LTS on dedicated (bare bone) hardware.
The polkadot wiki has a lot of good information about seting up a validator node.
It is wise to start setting your hostname (preferably matched bij the reverse dns on your provider), copying your ssh keys to your server and disable plain password authentication.
vi /etc/hostname
yourhostname.yourhostdomain
vi /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd.service
Firewall
Polkadot needs some ports open in the firewall, especially the p2p port
- 30333: p2p port
- 9933: HTTP RPC
- 9944: WS RPC
- 9615: prometheus port
ufw allow openssh
ufw enable
ufw allow from any port 30300:30399 proto tcp
ufw allow 30300:30399/tcp
Packages
Optionally lock the kernel updates so you have to manually upgrade them (which requires a restart)
apt-mark hold linux-generic linux-headers-generic linux-image-generic
Install polkadot
# Import the security@parity.io GPG key
gpg --recv-keys --keyserver hkps://keys.mailvelope.com 9D4B2B6EB8F97156D19669A9FF0812D491B96798
gpg --export 9D4B2B6EB8F97156D19669A9FF0812D491B96798 > /usr/share/keyrings/parity.gpg
# Add the Parity repository and update the package index
echo 'deb [signed-by=/usr/share/keyrings/parity.gpg] https://releases.parity.io/deb release main' > /etc/apt/sources.list.d/parity.list
apt update
# Install the `parity-keyring` package - This will ensure the GPG key
# used by APT remains up-to-date
apt install parity-keyring
# Install polkadot
apt install polkadot
Database sync
If you fire up a fresh polkadot it starts to sync from scratch, which will take a while. You can use warp sync to speed up the process or you can use a snapshot.
Example commands
Example ports and hosts used, change to your own setup.
check if ports are open
nc -vz 1.2.3.4 30333
see cpu frequencies
lscpu --all --extended
get more disk space by limiting reserved space for root
Default is 5% which is 50GB on a 1000 GB system, 0.1 (1GB) is more suitable.
tune2fs -m0.1 /dev/<disk>
get disk space information
du -sh /home/polkadot/*
df -h
rotatekeys
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9944 > session.key
check session keys
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_hasSessionKeys", "params":["<session key 0x.....>"]}' http://localhost:9944
see number of processes at a certain port
netstat -tn src :30333 | wc -l