POLKADOT
March 22

Tanssi

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

Web Discord Docs Staking Telemetry

Details

  • Token Symbol: DANCE
  • Binary: tanssi-node
  • Working directory: .tanssi

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

Минимальные требования:

  • 4 vCPU
  • 700 ГБ пространства NVMe
  • 8 ГБ ОЗУ

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

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

30333 = parachain p2p port

30334 = relay chain p2p port

30335 = tanssi orchestrator p2p port

Установка ubuntu 22.04

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

mkdir -p $HOME/.tanssi && cd $HOME/.tanssi
#wget https://github.com/moondance-labs/tanssi/releases/latest/download/tanssi-node && \
wget https://github.com/moondance-labs/tanssi/releases/download/v0.9.1/tanssi-node && \
chmod +x ./tanssi-node
mv tanssi-node /usr/local/bin/

tanssi-node --version
# tanssi-node 0.9.1-38e6e751132

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

nano /etc/systemd/system/tanssi.service
[Unit]
Description="Tanssi systemd"
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=on-failure
RestartSec=10
User=root
SyslogIdentifier=tanssi
SyslogFacility=local7
KillSignal=SIGHUP
ExecStart=/usr/local/bin/tanssi-node \
--chain=dancebox \
--name='lesnik | UTSA' \
--sync=warp \
--base-path=/root/.tanssi/para \
--state-pruning=2000 \
--blocks-pruning=2000 \
--collator \
--telemetry-url='wss://telemetry.polkadot.io/submit/ 0' \
--database paritydb \
-- \
--name='lesnik | UTSA' \
--base-path=/root/.tanssi/container \
--telemetry-url='wss://telemetry.polkadot.io/submit/ 0' \
-- \
--chain=westend_moonbase_relay_testnet \
--name='lesnik | UTSA' \
--sync=fast \
--base-path=/root/.tanssi/relay \
--state-pruning=2000 \
--blocks-pruning=2000 \
--telemetry-url='wss://telemetry.polkadot.io/submit/ 0' \
--database paritydb 

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable tanssi
systemctl restart tanssi && journalctl -u tanssi -f -o cat

Заполняем форму - https://www.tanssi.network/block-producer-form

Создаем кошелек - tanssi-node key generate -w 24

Для заполнения анкеты нам понадобятся Public key (SS58): вашей учетной записи, а не Public key (hex):. Если вы указали оба, все в порядке - я уже обновил его из серверной части. Если вы указали только шестнадцатеричный код, вам придется обновить анкету и заменить его адресом SS58

Получить Session Keys парачейна

curl http://127.0.0.1:9944 -H \
"Content-Type:application/json;charset=utf-8" -d \
  '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"author_rotateKeys",
    "params": []
  }'

Важно - записываем полученный Session Keys

Сопоставить Session Keys

Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/extrinsics и выбираем наш кошелек с монетами

  1. Select your account, which should be the same account that you previously self-delegated
  2. Select the session module and the setKeys extrinsic
  3. For keys, enter your session keys
  4. For proof, enter 0x
  5. Click Submit Transaction and sign and send the transaction from your wallet

Проверить, что ключи сопоставлены

Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/chainstate и выбираем наш кошелек с монетами

  1. Select the session module and the keyOwner query
  2. Enter nmbs in the SpCoreCryptoKeyTypeId field
  3. For Bytes, enter your hex-encoded session keys
  4. Click the + button next to the extrinsic field
  5. The account associated with the session keys, which should be your account, will be displayed at the bottom of the page

Запрос на делегирование

Следующим шагом на пути к получению права создавать блоки в Tanssi и Tanssi appchains является делегирование полномочий вашей собственной учетной записи. Для этого вам потребуется предоставить не менее 10 000 токенов DANCE

После отправки запроса на делегирование вам нужно будет подождать минимум два сеанса - это 1200 блоков, которые могут занять около двух часов

Производители блоков, участвующие в сеансе, выбираются из списка кандидатов, заказанных total stake, до тех пор, пока не будет покрыто общее количество необходимых производителей блоков. Итак, вам нужно убедиться, что вашей общей ставки достаточно для заполнения одного из слотов, для чего может потребоваться более 10 000 токенов DANCE

Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/extrinsics и выбираем наш кошелек с монетами

  1. Выберите учетную запись, с которой вы хотите отправить внешнее сообщение. Эта учетная запись должна быть той же учетной записью, которую вы делегируете, и именно этой учетной записью вы хотите стать создателем блоков
  2. Выберите модуль pooledStaking и requestDelegate extrinsic
  3. Введите свою учетную запись, которая, опять же, является той же учетной записью, с которой вы отправляете внешнее сообщение, и учетной записью, с которой вы хотите стать производителем блоков
  4. Выберите целевой пул. Это может быть либо пул автоматического суммирования, который автоматически суммирует вознаграждения за делегирование, либо пул вознаграждений вручную, в котором все действия, связанные с вознаграждениями, выполняются вручную
  5. Введите сумму для ставки. Эта сумма должна соответствовать минимальной, которая составляет 10 000 токенов DANCE. Вам нужно будет указать сумму в Planck, поэтому для получения 10 000 токенов вам нужно будет ввести 10000000000000000
  6. Нажмите Отправить транзакцию, подпишите и отправьте транзакцию со своего кошелька

Выполнить ожидающий запрос

Перед выполнением ожидающего запроса вам необходимо восстановить сеанс, на котором вы отправляли запрос на делегирование

Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/chainstate и выбираем наш кошелек с монетами

  1. Выберите модуль pooledStaking и pendingOperations query
  2. Выберите кошелек
  3. Выключите опцию include option
  4. Нажмите кнопку + рядом с внешним полем
  5. Ваш предварительный запрос будет отображен

В примере на изображении выше запрос делегата на присоединение к пулу был отправлен во время сеанса 4829. Таким образом, запрос может быть выполнен, начиная с сеанса 4831

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

Чтобы проверить текущую сессию

  1. Select the session module and the currentIndex query
  2. Click the + button next to the extrinsic field
  3. The current session will be displayed at the bottom of the page

Если запрос может быть выполнен, то переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/extrinsics

  1. Выберите учетную запись, с которой вы хотите отправить внешнее сообщение
  2. Выберите модуль pooledStaking и executePendingOperations extrinsic
  3. В поле "Делегатор" введите свою учетную запись, с которой вы отправили запрос на самостоятельное делегирование
  4. В поле операция выберите тип выполняемой операции. Это должно быть либо присоединение к автоматическому объединению, либо присоединение к ручному управлению, в зависимости от целевого пула, который вы выбрали при отправке запроса на самостоятельное делегирование
  5. В поле "Кандидат" введите ту же учетную запись, что и в поле "делегатор"
  6. В поле at введите идентификатор сеанса, на котором вы отправили запрос на делегирование
  7. Нажмите Отправить транзакцию, подпишите и отправьте транзакцию со своего кошелька

Убедитесь, что Ваша учетная запись есть в списке подходящих кандидатов

Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/chainstate и выбираем наш кошелек с монетами

  1. Выберите модуль pooledStaking и sortedEligibleCandidates query
  2. Нажмите кнопку + рядом с внешним полем
  3. Список подходящих кандидатов и их ставки будут указаны в нижней части страницы. Вы можете выполнить поиск по своему адресу, чтобы убедиться, что вы имеете право на создание блоков

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

Отменить привязку токенов - https://docs.tanssi.network/node-operators/block-producers/offboarding/account/

Информация

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

# 

Удалить ноду

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