Guides / Instructions how to run a node
September 5, 2022

Zeeka: Installation Guide

Zeeka - новая блокчейн инфраструктура, основанная на технологии Zero-knowledge proof. Zeeka предлагает сжимать пакеты переходов состояний (транзакций) в доказательства действительности постоянного размера, которые будут храниться в блокчейне. Zeeka предлагает новую концепцию под названием Zero Contracts. Нулевые контракты являются эквивалентом смарт-контрактов в некоторых блокчейнах, таких как Ethereum. Эти контракты будут выражены в виде математических ограничений, а не байт-кодов виртуальной машины.

Дисклеймер: Гайд был благополучно украден у умных людей и немножко переделан под себя.

Website

Twitter

Discord

Whitepaper

Github

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

На данном этапе минимальные требования к серверу составляют 1 CPU, 1 GB RAM, 30 GB SSD. Можно поставить на Hetzner - CPX11 либо подселить к другой ноде на имеющемся сервере. Zeeka использует 8765 порт.

Обновляем пакеты
sudo apt update && sudo apt upgrade -y
Устанавливаем необходимые пакеты
sudo apt install wget jq git libssl-dev cmake -y
Устанавливаем Rust
# устанавливаем необходимые пакеты
sudo apt install curl build-essential gcc make -y
# загружаем установочный скрипт Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Выбираем пункт 1) продолжить установку (по умолчанию).
# активируем среду Rust для текущей оболочки
source ~/.profile
source ~/.cargo/env

Установка и запуск

Клонируем репозиторий и переходим в папку с нодой
git clone https://github.com/zeeka-network/bazuka && cd bazuka
git pull origin master
Собираем бинарные файлы
cargo install --path .
Создаем новый кошелек (например Keplr) и сохраняем мнемоник фразу в надежном месте.
Инициализируем ноду, указываем мнемоник фразу вашего кошелька в команде
bazuka init --seed '<мнемоник фраза кошелька>' --network debug --node 127.0.0.1:8765 
Создаем переменную с вашим IP и ником в дискорде
ZEEKA_IP=<ваш IP>
DISCORD_HANDLE=<ваш ник в дискорде вместе с цифрами>  
Сохраняем переменные, перезагружаем .bash_profile и проверяем значения переменных
echo "export ZEEKA_IP="${ZEEKA_IP}"" >> $HOME/.bash_profile
echo "export DISCORD_HANDLE="${DISCORD_HANDLE}"" >> $HOME/.bash_profile
source $HOME/.bash_profile
echo -e "\nzeeka_ip > ${ZEEKA_IP}\n"
echo -e "\ndiscord_handle > ${DISCORD_HANDLE}\n"
Создаем сервисный файл
printf "[Unit]
Description=Zeeka node
After=network.target

[Service]
User=$USER
ExecStart=`RUST_LOG=info which bazuka` node --listen 0.0.0.0:8765 --external $ZEEKA_IP:8765 --network debug --db ~/.bazuka-debug --bootstrap 152.228.155.120:8765 --bootstrap 95.182.120.179:8765 --bootstrap 195.2.80.120:8765 --bootstrap 195.54.41.148:8765 --bootstrap 65.108.244.233:8765 --bootstrap 195.54.41.130:8765 --bootstrap 185.213.25.229:8765 --discord-handle \"$DISCORD_HANDLE\"
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/zeekad.service
Запускаем сервис
sudo systemctl daemon-reload && sudo systemctl enable zeekad
sudo systemctl restart zeekad
Проверяем логи
sudo journalctl -fn 100 -u zeekad
Дополнительно: можно добавить цвета в вывод логов
sudo apt install ccze
Проверка логов в цвете
sudo journalctl -fn 100 -u zeekad | ccze -A

Создание кошелька Keplr

  • В Google Chrome или Brave cкачиваем расширение Keplr по ссылке
  • Переходим в расширение и нажимаем "Create new account"
  • Вводим имя аккаунта и пароль, сохраняем мнемоник фразу в надежном месте
  • Составляем из предложенных слов свою мнемоник фразу
  • Готово!

Удаление ноды

Для удаления ноды выполните следующие команды
systemctl stop zeekad && systemctl disable zeekad
rm -rf $HOME/bazuka /usr/bin/bazuka /etc/systemd/system/zeekad.service
systemctl daemon-reload

На этом всё. Все большие умнички. Запрыгивайте в Discord проэкта и кидайте туда свои айпишники и скрины логов.

Yoda's Nodes Telegram

Yoda's Nodes Youtube

Yoda's Nodes Twitter