Ноды
September 8, 2022

Установка ноды и майнера Ziesha

Ziesha — это новый блокчейн первого уровня, который использует доказательства с нулевым разглашением в качестве основы своего смарт-контракта (Zero Contracts).

Ziesha Explorer: http://31.210.53.186:8000/nodes

Гайд обновлен: 23.06.2023

Сайт проекта | Документация проекта | Discord | Web Wallet
Telegram канал сообщества Starnodes

Содержание:

Системные требования:

Нода: CPU 2, RAM 4

Прувер: CPU 10, RAM 64, Видеокарта серии RTX

Используемые порты: 8765,8767/tcp

Аренда сервера:

1) Хостинг Hetzner - неплохой хостинг для аренды VPS по соотношению цена-качество, подойдет для большинства нод.

2) Хостинг Starnodes - VPS сервера с большой ёмкостью NVME накопителя. Все сервера расположены в датацентре и работают 24/7.

Награды:

Идет фаза с наградами. Ставим ноду, создаем валидатора, запускаем прувер (при наличии хорошей видеокарты). За все начисляются очки.

Подготовка к установке:

Обновим пакеты системы:

sudo apt update && sudo apt upgrade -y

Установим необходимое программное обеспечение

sudo apt install wget jq git curl build-essential libssl-dev gcc cmake mc -y

Установим Rust:

curl https://sh.rustup.rs -sSf | sh -s -- -y
source ~/.cargo/env

Откройте порты в Firewall, например в стандартном для Ubuntu это делается так:

sudo ufw allow 8765,8767/tcp

Очистить сервер от прошлых установок ноды или майнера (при необходимости):

Не забывайте сохранить мнемонику!

sudo systemctl stop ziesha
sudo systemctl disable ziesha
rm -rf $HOME/bazuka
rm -rf ~/.bazuka ~/.bazuka-wallet ~/.bazuka.yaml
sudo rm /etc/systemd/system/ziesha.service
sudo systemctl daemon-reload

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

Установить ноду из репозитория:

cd
git clone https://github.com/ziesha-network/bazuka
cd $HOME/bazuka
git pull origin master
cargo install --path .

Если у вас уже есть мнемоника из 12 слов, то укажите ее под флагом --mnemonic.

Если вы еще не участвовали в тестнете, то то уберите флаг --mnemonic из команды и сохраните полученную фразу восстановления для кошелька.

cd
bazuka init --bootstrap 31.210.53.186:8765 --bootstrap 89.179.68.98:8765 --mnemonic "YOUR OLD MNEMONIC PHRASE"

Добавьте в переменные ваши данные:

ZEEKADISCORD=ваш_ник_из_дискорда#1734

Сохраните переменные :

echo "export ZEEKADISCORD="${ZEEKADISCORD}"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Создайте службу для запуска:

sudo tee <<EOF >/dev/null /etc/systemd/system/ziesha.service
[Unit]
Description=Zeeka node
After=network.target

[Service]
User=$USER
ExecStart=`RUST_LOG=info which bazuka` node start --discord-handle "$ZEEKADISCORD"
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Запустим службу и добавим ее в автозапуск:

sudo systemctl daemon-reload
sudo systemctl enable ziesha
sudo systemctl restart ziesha

Посмотрите логи на корректность установки:

sudo journalctl -f -u ziesha

Актуальную высоту можно посмотреть в Ziesha Explorer:

http://31.210.53.186:8000/nodes

Необязательно:

Нода ищет пиры около 5-10 минут, если не нашла и высота 1, то добавьте bootstrap в конфиг:

nano ~/.bazuka.yaml
bootstrap:
  - "31.210.53.186:8765"
  - "89.179.68.98:8765"

Актуальные бутстрапы можно спросить в дискорде!

Проверьте статус ноды:

bazuka node status

Посмотрите информацию о кошельке:

bazuka wallet info

Обновление ноды:

Обновление универсальное для каждого релиза!

sudo systemctl stop ziesha
rm -rf ~/.bazuka
bazuka wallet reset
cd ~/bazuka
git pull
git reset --hard origin/master
cargo update
cargo install --path .
sudo systemctl restart ziesha && sudo journalctl -f -u ziesha -o cat

Удалить ноду:

Перед удалением убедитесь, что сохранили SEED фразу:

cat ~/.bazuka-wallet

А теперь можно и удалить:

sudo systemctl stop ziesha && sudo systemctl disable ziesha
rm -rf ~/bazuka ~/.bazuka ~/.bazuka-wallet ~/.bazuka.yaml
rm /etc/systemd/system/ziesha.service 
sudo systemctl daemon-reload

Создание валидатора

Запрашиваем токены на ваш адрес jub... в дискорде:

https://discord.com/channels/923604493378154496/1034144754130223104

Переводим токены на адрес ed...

bazuka wallet send --from jubXXXXXX --to edXXXXXX --amount XXXX

Создаем валидатора:

bazuka wallet register-validator --commission 0.05

Смотрим адрес валидатора в консоли::

bazuka wallet info --validator

А теперь делегируем токены с кошелька вашему валидатору:

bazuka wallet delegate --to edXXXXXX --amount XXX

Установка прувера

Zoro Prover - некий аналог майнерам, вы подключаетесь к валидаторам и используя вычислительную мощность вашей видеокарты сможете получить вознаграждение в виде токенов Ziesha. Прувером может стать любой желающий.

Сперва скомпилируем бинарные файлы пакета Zoro:

cd
git clone https://github.com/zeeka-network/zoro
cd zoro && cargo install --path .

Убедитесь, что у вас установлены драйвера, если нет, то установите:

sudo apt install ocl-icd-opencl-dev
sudo apt install nvidia-driver-525-server nvidia-utils-525-server nvidia-settings -y

Прувер потребляет довольно много оперативной памяти. Особенно для генерации конфигурационных файлов. Для работы потребуется сервер с 64 гб RAM и видеокартой Nvidia (больше 1й вроде бы сейчас не работает).

Если памяти недостаточно, то можно попробовать использовать SWAP файл:

sudo fallocate -l 64G /swapfile; \
sudo chmod 600 /swapfile; \
sudo mkswap /swapfile; \
sudo swapon /swapfile; \
sudo cp /etc/fstab /etc/fstab.bak; \
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab; \
sudo sysctl vm.swappiness=10; \
sudo sysctl vm.vfs_cache_pressure=60; \
sudo cp /etc/sysctl.conf /etc/sysctl.bak; \
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf; \
echo 'vm.vfs_cache_pressure=60' | sudo tee -a /etc/sysctl.conf

Теперь запускаем команду generate-params и ждем. У меня нода запускается под пользователем root, так что учитывайте это, если у вас другой юзер.

cd /root
zoro generate-params

Далее создадим сервисный файл для работы ноды в фоне.

Укажите ваш кошелек и загрузочную ноду в переменной:

ADDRESS=ed078800541138668423cbad38275209481583b8d9fd12bd03d5f859805b054db6
BOOTSTRAP="31.210.53.186:8765"

Создайте службу для запуска прувера:

sudo tee <<EOF >/dev/null /etc/systemd/system/zoro-prove.service
[Unit]
Description=Zoro prover
After=network.target

[Service]
User=$USER
ExecStart=`RUST_LOG=info which zoro` prove --connect $BOOTSTRAP --address $ADDRESS --gpu --network deruny-4 --workers 1 --update-circuit-params /root/update_params.dat --deposit-circuit-params /root/deposit_params.dat --withdraw-circuit-params /root/withdraw_params.dat
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Запустим службу и добавим ее в автозапуск:

sudo systemctl daemon-reload
sudo systemctl enable zoro-prove
sudo systemctl restart zoro-prove

Посмотрите логи на корректность установки:

sudo journalctl -f -u zoro-prove

Баланс кошелька проверяем командой:

bazuka wallet info

Обновите Zoro

sudo systemctl stop zoro-prove
cd $HOME/zoro
git pull origin master
cargo update
cargo install --path .
sudo systemctl restart zoro-prove

Удалить прувер:

sudo systemctl stop zoro-prove && sudo systemctl disable zoro-prove
rm -rf ~/zoro ~/deposit_params.dat ~/withdraw_params.dat ~/withdraw_params.dat
rm /etc/systemd/system/zoro-prove.service 
sudo systemctl daemon-reload

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

Просмотр всех логов Zeeka одновременно:

sudo journalctl -f -u zoro-prove -u ziesha

Перезапуск всех служб:

sudo systemctl restart zoro-prove ziesha

Просмотр статуса ноды:

bazuka node status

Проверить баланс или посмотреть адрес кошелька:

bazuka wallet info

Отправить застрявшие транзакции снова:

bazuka wallet resend-pending

Отправить токены с адреса MPN на основной:

bazuka wallet send --amount 400000 --from jub367........ --to ed078......

Веб кошелек:

https://ziesha.network/zeejs/

@starnodes_ru - наш канал в Telegram с новостями и гайдами по тестнетам.
@starnodes_chat - канал, куда можно обратиться за помощью.