Tangle Network
🪓 Telegram канал UTSA 🪓 Telegram чат UTSA
Tangle - это сеть, совместимая с Ethereum и основанная на Substrate, которая поддерживает как инструменты Substrate, так и Ethereum для разработки
В настоящее время запущена тестовая сеть Tangle - https://blog.webb.tools/announcing-the-tangle-network-testnet-launch/
Используемые порты
Подготовка сервера
# обновляем репозитории 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
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 - это означает, что придется продолжать использовать те же ключи, которые были созданы ранее на первом сервере, иначе валидатор не сможет подписывать блоки
- Охлаждаем (chill) валидатора в polkadot js и останавливаем ноду на старом сервере. Если ранее Вы не копировали ключи, то самое время сделать это сейчас
- Запускаем ноду на новом сервере как обычно и полностью синхронизируемся
- После синхронизации на новом сервере останавливаем ноду, заменяем ключи в
$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