Skip to content

Install

Website | Twitter | Discord | Telemetry | polkadot.js

Update system and install tools

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget build-essential git jq tar pkg-config libssl-dev liblz4-tool ncdu bashtop clang llvm libudev-dev make protobuf-compiler -y

Create a directory and download a binary file

mkdir -p $HOME/.tangle
cd $HOME/.tangle
wget -O tangle https://github.com/webb-tools/tangle/releases/download/v1.0.11/tangle-default-linux-amd64
chmod +x tangle
sudo mv tangle /usr/bin/
tangle --version

Generate Keys

Account Keys

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Sr25519 \
--suri "12-MNEMONIC-PHARSE" \
--key-type acco

Babe Keys

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Sr25519 \
--suri "12-MNEMONIC-PHARSE" \
--key-type babe

Im-online Keys - these keys are optional

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Sr25519 \
--suri "12-MNEMONIC-PHARSE" \
--key-type imon

Role Keys

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Ecdsa \
--suri "12-MNEMONIC-PHARSE" \
--key-type role

Grandpa Keys

tangle key insert --base-path $HOME/.tangle/data/ \
--chain tangle-mainnet \
--scheme Ed25519 \
--suri "12-MNEMONIC-PHARSE" \
--key-type gran

Create configuration file

Specify the name of your “MONIKER” (validator) which will be visible in the explorer
MONIKER="YOUR_MONIKER_NAME"
tee /etc/systemd/system/tangle.service > /dev/null << EOF
[Unit]
Description=Tangle Node
After=network-online.target
StartLimitIntervalSec=0
[Service]
User=$USER
Restart=always
RestartSec=3
LimitNOFILE=65535
ExecStart=/usr/bin/tangle \
--base-path $HOME/.tangle/data/ \
--name $MONIKER \
--chain tangle-mainnet \
--node-key-file "$HOME/.tangle/node-key" \
--port 30333 \
--rpc-port 9933 \
--prometheus-port 9615 \
--validator \
--no-mdns \
--pruning archive \
--telemetry-url "wss://telemetry.polkadot.io/submit/ 1"
[Install]
WantedBy=multi-user.target
EOF

Start the service

sudo systemctl daemon-reload
sudo systemctl enable tangle
sudo systemctl start tangle

Check the logs

sudo journalctl -u tangle -f -o cat

Session Keys

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933

Delete node

sudo systemctl stop tangle
sudo systemctl disable tangle
sudo rm -rf /etc/systemd/system/tangle.service
sudo systemctl daemon-reload
rm /usr/bin/tangle
rm -rf $HOME/.tangle