POLKADOT
October 4, 2023

Tangle Network

🪓 Telegram канал UTSA 🪓 Telegram чат UTSA

Web Discord Github Docs Wallet Telemetry

Tangle - это сеть, совместимая с Ethereum и основанная на Substrate, которая поддерживает как инструменты Substrate, так и Ethereum для разработки

В настоящее время запущена тестовая сеть Tangle - https://blog.webb.tools/announcing-the-tangle-network-testnet-launch/

Используемые порты

  • 0.0.0.0:30333 - P2P
  • 127.0.0.1:9933 - RPC
  • 127.0.0.1:9615 - Prometheus

Подготовка сервера

# обновляем репозитории
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

Установка Ubuntu 22.04

Скачиваем бинарный файл

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

Скачиваем 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

Создаем ключи

# 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

# проверим создались ли ключи
ls $HOME/.tangle/data/chains/tangle-mainnet/keystore/

Создаем сервисный файл

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

Теперь наша нода начала синхронизироваться. Мы можем проверить нашу ноду в телеметрии

Настройка валидатора

После того как нода синхронизировалась вытаскиваем ключ из нашей ноды введя команду

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933
Если получили подобный результат, то все замечательно {"jsonrpc":"2.0","result":"0xa0very0long0hex0string","id":1} - копируем ключ (выделено жирным) он нам понадобится в ближайшее время

ВАЖНО - сохраняем ключи расположенные в $HOME/.tangle/node-key и $HOME/.tangle/data/chains/tangle-standalone-testnet/keystore/

  • Переходим на сайт и для начала создаем кошелек stash
  • Для stash настраиваем Set on-chain Identity для идентификации
  • Создаем валидатора. Для этого выбираем Network - Staking - Accounts - Validator

Далее вставляем наш ключ полученный с ноды валидатора, выбираем процент комиссионного вознаграждения

Как только освободится место среди валидаторов, вы появитесь во вкладке Staking Overview, а пока можете себя найти на вкладке Waiting

Перенос валидатора

Данная информация была актуальна для первого тестнета. Для нового тестнета еще идет уточнение!!!

В отличии от стандартных нод Polkadot в Tangle валидатор также является центром DKG - это означает, что придется продолжать использовать те же ключи, которые были созданы ранее на первом сервере, иначе валидатор не сможет подписывать блоки

  1. Охлаждаем (chill) валидатора в polkadot js и останавливаем ноду на старом сервере. Если ранее Вы не копировали ключи, то самое время сделать это сейчас
  2. Запускаем ноду на новом сервере как обычно и полностью синхронизируемся
  3. После синхронизации на новом сервере останавливаем ноду, заменяем ключи в $HOME/.tangle/data/chains/tangle-standalone-testnet/keystore/ и включаем ноду

Полезные команды

Информация

# просмотреть логи
journalctl -u tangle -f -o cat

# 

Удалить ноду

systemctl stop tangle && \
systemctl disable tangle && \
rm /etc/systemd/system/tangle.service && \
systemctl daemon-reload
cd
rm -r .tangle
Поддержим природу вместе: 0xa7476EC14cD663C742d527113638C77a1631Cc89 cosmos1m2mm7kzvw6m3464h94ryqg8xvr6tyeyyecppnq