💻Installation

Officially stated requirements: 2/4/100 ubuntu 22.04

Server preparation

apt update && apt upgrade -y
apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev libgmp3-dev tar clang bsdmainutils ncdu unzip llvm libudev-dev make protobuf-compiler -y

Installing Ubuntu 22.04

Download the binary file

mkdir -p $HOME/.tangle && cd $HOME/.tangle

wget -O tangle https://github.com/webb-tools/tangle/releases/download/v1.0.12/tangle-default-linux-amd64
chmod 744 tangle
mv tangle /usr/bin/
tangle --version
# tangle 1.0.12-ff0251a-x86_64-linux-gnu

Download json

wget -O $HOME/.tangle/tangle-mainnet.json "https://raw.githubusercontent.com/webb-tools/tangle/main/chainspecs/mainnet/tangle-mainnet.json"
chmod 744 ~/.tangle/tangle-mainnet.json
# Проверим json
sha256sum ~/.tangle/tangle-mainnet.json
# b640e7fb959066ce29a3ddece42f17cc4e76b4383fd57e4f4249e2c80bff8a00

Create keys

# Acco
tangle key insert --base-path $HOME/.tangle/data/ \
--chain $HOME/.tangle/tangle-mainnet.json \
--scheme Sr25519 \
--suri "<SEED_ФРАЗА-12>" \
--key-type acco

# Babe
tangle key insert --base-path $HOME/.tangle/data/ \
--chain $HOME/.tangle/tangle-mainnet.json \
--scheme Sr25519 \
--suri "<SEED_ФРАЗА-12>" \
--key-type babe

# Imonline
tangle key insert --base-path $HOME/.tangle/data/ \
--chain $HOME/.tangle/tangle-mainnet.json \
--scheme Sr25519 \
--suri "<SEED_ФРАЗА-12>" \
--key-type imon

# Role
tangle key insert --base-path $HOME/.tangle/data/ \
--chain $HOME/.tangle/tangle-mainnet.json \
--scheme Ecdsa \
--suri "<SEED_ФРАЗА-12>" \
--key-type role

# Grandpa
tangle key insert --base-path $HOME/.tangle/data/ \
--chain $HOME/.tangle/tangle-mainnet.json \
--scheme Ed25519 \
--suri "<SEED_ФРАЗА-12>" \
--key-type gran

# check
ls $HOME/.tangle/data/chains/tangle-mainnet/keystore/

Create a service file

yourname=<name>
tee /etc/systemd/system/tangle.service > /dev/null << EOF
[Unit]
Description=Tangle Validator 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 '$yourname' \
  --chain $HOME/.tangle/tangle-mainnet.json \
  --node-key-file "$HOME/.tangle/node-key" \
  --port 30333 \
  --rpc-port 9933 \
  --prometheus-port 9615 \
  --validator \
  --pruning archive \
  --telemetry-url "wss://telemetry.polkadot.io/submit/ 1"
  --no-mdns
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable tangle
systemctl restart tangle && journalctl -u tangle -f -o cat

Now our node has started to synchronize. We can check our node in telemetry

Validator setup

After the node has synchronized, we pull out the key from our node by entering the command

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

If you get a similar result, then everything is great {"jsonrpc":"2.0","result":"0xa0very0long0hex0string","id":1} - copy the key (in bold) we will need it in the near future

IMPORTANT - save the keys located in $HOME/.tangle/node-key and $HOME/.tangle/data/chains/tangle-standalone-testnet/keystore/

  • Go to the website and first create a stash wallet

  • For stash we configure Set on-chain Identity for identification

  • We create a validator. To do this, select Network - Staking - Accounts - Validator

Next, insert our key received from the validator node, select the commission percentage

As soon as a place among the validators becomes available, you will appear in the Staking Overview tab, but for now you can find yourself on the Waiting tab

Last updated