Manual Installation

Configure network time protocol:

sudo systemctl enable systemd-timesyncd
sudo systemctl unmask systemd-timesyncd
sudo apt install systemd-timesyncd
sudo systemctl enable systemd-timesyncd
sudo systemctl start systemd-timesyncd
timedatectl status

Install binaries:

# Import the [email protected] 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

Check version:

polkadot --version

Create working directory:

mkdir -p $HOME/.polkadot
chown -R $(id -u):$(id -g) $HOME/.polkadot

Open p2p port:

sudo ufw allow 30333 comment polkadot_p2p

Create nodekey:

mkdir -p $HOME/.polkadot/chains/network
polkadot key generate-node-key --file $HOME/.polkadot/chains/network/network_key

Create service file:

sudo tee /etc/systemd/system/polkadotd.service > /dev/null <<EOF
[Unit]
Description=polkadot node

[Service]
User=$USER
WorkingDirectory=$HOME/.polkadot
ExecStart=$(which polkadot) --validator --name ITRocket --keystore-path $HOME/.polkadot/chains/keystore --node-key-file $HOME/.polkadot/chains/network/network_key --database RocksDb --base-path $HOME/.polkadot --state-pruning 64 --blocks-pruning 64 --public-addr /ip4/$(wget -qO- eth0.me)/tcp/30333 --port 30333 --rpc-port 9933 --prometheus-port 9615 --in-peers 12 --out-peers 8 --telemetry-url "wss://telemetry-backend.w3f.community/submit/ 1" --telemetry-url "wss://telemetry.polkadot.io/submit/ 0"
Restart=always
RestartSec=120
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Enable and start service:

sudo systemctl daemon-reload
sudo systemctl enable polkadotd
sudo systemctl restart polkadotd && sudo journalctl -u polkadotd -f

Snapshot

pruned
updated every available 24/7 (each server stores last 2 snapshots)
height: 0Loading...... blocks agosize: B

Install snapshot dependencies:

# Install dependencies, if needed
sudo apt install curl aria2 jq lz4 unzip -y

Start node using snapshot:

cd $HOME
sudo systemctl stop polkadotd
rm -r $HOME/.polkadot/chains/polkadot/db/
curl https://server-7.itrocket.net/mainnet/polkadot/null | lz4 -dc - | tar -xf - -C $HOME/.polkadot/chains/polkadot
sudo systemctl restart polkadotd && sudo journalctl -u polkadotd -f

Upgrade

sudo apt update
sudo apt install --only-upgrade polkadot
polkadot --version
sudo systemctl restart polkadotd && sudo journalctl -u polkadotd -f

Delete node

sudo systemctl stop polkadotd
sudo systemctl disable polkadotd
sudo rm /etc/systemd/system/polkadotd.service
sudo systemctl daemon-reload
Copyright © 2025 ITRocket. All Rights Reserved.