Tanssi
🪓 Telegram канал UTSA 🪓 Telegram чат UTSA
Коллаторы поддерживают парачейны, собирая транзакции парачейна от пользователей и создавая доказательства перехода состояния для валидаторов цепи ретрансляции. Другими словами, коллаторы поддерживают парачейны, агрегируя транзакции парачейна в кандидаты на блоки парачейна и создавая доказательства перехода состояния для валидаторов на основе этих блоков
Подготовка сервера
# обновляем репозитории 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
Установка 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
Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/extrinsics и выбираем наш кошелек с монетами
- Select your account, which should be the same account that you previously self-delegated
- Select the session module and the setKeys extrinsic
- For keys, enter your session keys
- For proof, enter
0x
- Click Submit Transaction and sign and send the transaction from your wallet
Проверить, что ключи сопоставлены
Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/chainstate и выбираем наш кошелек с монетами
- Select the session module and the keyOwner query
- Enter
nmbs
in the SpCoreCryptoKeyTypeId field - For Bytes, enter your hex-encoded session keys
- Click the + button next to the extrinsic field
- 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 и выбираем наш кошелек с монетами
- Выберите учетную запись, с которой вы хотите отправить внешнее сообщение. Эта учетная запись должна быть той же учетной записью, которую вы делегируете, и именно этой учетной записью вы хотите стать создателем блоков
- Выберите модуль pooledStaking и requestDelegate extrinsic
- Введите свою учетную запись, которая, опять же, является той же учетной записью, с которой вы отправляете внешнее сообщение, и учетной записью, с которой вы хотите стать производителем блоков
- Выберите целевой пул. Это может быть либо пул автоматического суммирования, который автоматически суммирует вознаграждения за делегирование, либо пул вознаграждений вручную, в котором все действия, связанные с вознаграждениями, выполняются вручную
- Введите сумму для ставки. Эта сумма должна соответствовать минимальной, которая составляет 10 000 токенов DANCE. Вам нужно будет указать сумму в Planck, поэтому для получения 10 000 токенов вам нужно будет ввести
10000000000000000
- Нажмите Отправить транзакцию, подпишите и отправьте транзакцию со своего кошелька
Выполнить ожидающий запрос
Перед выполнением ожидающего запроса вам необходимо восстановить сеанс, на котором вы отправляли запрос на делегирование
Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/chainstate и выбираем наш кошелек с монетами
- Выберите модуль pooledStaking и pendingOperations query
- Выберите кошелек
- Выключите опцию include option
- Нажмите кнопку + рядом с внешним полем
- Ваш предварительный запрос будет отображен
В примере на изображении выше запрос делегата на присоединение к пулу был отправлен во время сеанса 4829. Таким образом, запрос может быть выполнен, начиная с сеанса 4831
Обратите внимание на операцию и номер сеанса, в котором вы отправили запрос, поскольку для выполнения ожидающего запроса вам понадобятся оба значения
Если запрос может быть выполнен, то переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/extrinsics
- Выберите учетную запись, с которой вы хотите отправить внешнее сообщение
- Выберите модуль pooledStaking и executePendingOperations extrinsic
- В поле "Делегатор" введите свою учетную запись, с которой вы отправили запрос на самостоятельное делегирование
- В поле операция выберите тип выполняемой операции. Это должно быть либо присоединение к автоматическому объединению, либо присоединение к ручному управлению, в зависимости от целевого пула, который вы выбрали при отправке запроса на самостоятельное делегирование
- В поле "Кандидат" введите ту же учетную запись, что и в поле "делегатор"
- В поле at введите идентификатор сеанса, на котором вы отправили запрос на делегирование
- Нажмите Отправить транзакцию, подпишите и отправьте транзакцию со своего кошелька
Убедитесь, что Ваша учетная запись есть в списке подходящих кандидатов
Переходим на страницу - https://polkadot.js.org/apps/?rpc=wss://dancebox.tanssi-api.network#/chainstate и выбираем наш кошелек с монетами
- Выберите модуль pooledStaking и sortedEligibleCandidates query
- Нажмите кнопку + рядом с внешним полем
- Список подходящих кандидатов и их ставки будут указаны в нижней части страницы. Вы можете выполнить поиск по своему адресу, чтобы убедиться, что вы имеете право на создание блоков
Полезные команды
Отменить привязку токенов - 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