September 2, 2023

T3RN node guide | Гайд по ноде T3RN

Требования к серверу:

4/16/200 - я взяла на хетцнере

Ubuntu 22.04

Подготавливаем сервер:

sudo apt update && sudo apt upgrade -y

sudo apt install curl -y
sudo apt install git-lfs make curl tar wget clang pkg-config libssl-dev jq build-essential -y

sudo apt install git clang llvm libudev-dev git make unzip -y

sudo apt install clang protobuf-compiler -y
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#нажимаем 1
source ~/.cargo/env

rustup default stable

rustup update

rustup update nightly

rustup target add wasm32-unknown-unknown --toolchain nightly

rustup show

rustup +nightly show

Задаем переменные:

collator=<YOUR_COLLATOR_NAME>
#заменить <YOUR_COLLATOR_NAME> на свое придуманное имя
echo 'export collator='"$collator" >> $HOME/.bash_profile
echo 'source $HOME/.bashrc' >> $HOME/.bash_profile
. $HOME/.bash_profile
t0rn_boot_node=/dns/bootnode.t0rn.io/tcp/33333/p2p/12D3KooWEepV69XCJB4Zi193cZcm5W22ZR62DEP84iLFTUKVPtwp
rococo_boot_node=/ip4/34.90.151.124/tcp/30333/p2p/12D3KooWF7BUbG5ErMZ47ZdarRwtpZamgcZqxwpnFzkhjc1spHnP

Установка ноды:

git clone https://github.com/paritytech/substrate.git

cd substrate

cargo +nightly build --package subkey --release

sudo mv target/release/subkey /usr/local/bin/

subkey generate
#запишите вывод команды!!!
cd 

mkdir t3rn

cd t3rn

mkdir -p {data,keystore,specs}
#создаем три директории
curl -sSfL \
https://github.com/t3rn/t3rn/releases/download/v1.53.0-rc.0/t0rn-collator-v1.53.0-rc.0-x86_64-unknown-linux-gnu.gz | gunzip > ~/t3rn/circuit-collator
chmod +x $HOME/t3rn/circuit-collator

Задаем спецификацию сетей:

curl -sSfL \
  -o specs/rococo.raw.json \
  https://raw.githubusercontent.com/t3rn/t3rn/v1.53.0-rc.0/specs/rococo.raw.json

curl -sSfL \
  -o specs/t0rn.raw.json \
  https://raw.githubusercontent.com/t3rn/t3rn/v1.53.0-rc.0/specs/t0rn.raw.json

Создаем сервисный файл(копируем одной командой):

sudo tee /etc/systemd/system/t3rn.service > /dev/null << EOF
[Unit]
Description=t3rn
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/t3rn/circuit-collator --collator --name $collator --base-path $HOME/t3rn/data --chain $HOME/t3rn/specs/t0rn.raw.json --bootnodes "$t0rn_boot_node" --port 33333 --rpc-port 8833 --prometheus-port 7001 --telemetry-url 'wss://telemetry.polkadot.io/submit 1' --execution Wasm --pruning=archive --rpc-methods=unsafe -- --chain $HOME/t3rn/specs/rococo.raw.json --bootnodes "$rococo_boot_node" --port 10001 --rpc-port 8001 --execution Wasm
Restart=always
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF

Перезапускаем сервисный файл:

sudo systemctl daemon-reload
sudo systemctl enable t3rn
sudo systemctl start t3rn

Просмотр логов:

sudo journalctl -u t3rn -f --no-hostname -o cat

Aura Keypair(копируем одной командой):

$HOME/t3rn/circuit-collator \
key \
insert \
--base-path ~/t3rn/data \
--chain ~/t3rn/specs/t0rn.raw.json \
--scheme Sr25519 \
--suri "<phrase>" \
--key-type aura

#заменить <phrase> на secret phrase (копировали со всем прочим при генерации ключей)

Регистрируем collator:

  1. Переходим на polkadot.js - сеть t3rn
  2. Используя secret phrase - добавляем новый аккаунт
  3. Запрашиваем тестовые токены на свой кошелек тут
  4. Получаем session key (в терминале):
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:8833
#копируем из вывода ключ (начинается на 0х)

Теперь необходимо подписать 2 транзакции в polkadot.js

1 Заходим в меню разработчик -> экстринзики. Выбираем поля session / setKeys и дважды вводим ключ, который скопировали в терминале шагом ранее, подписываем транзакцию

2 В этом же меню - меняем session на collatorSelection, а setKeys на registerAsCandidate - подписываем транзакцию!

Теперь найти себя можно тут

Эксплорер сети тут

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae

Smart Hamster Nodes Studio

YouTube канал тут!

Наша новостная группа тут!

Курс "Обучение по нодам" тут!