Zeitgeist | 0.3.2
⠀Zeitgeist — развивающийся блокчейн для рынков предсказаний и футархии. Основные функции: методы создания, заключения пари и расчета рынков прогнозов.
Содержание
Информация о проекте
Описание
⠀Развивающийся блокчейн для рынков предсказаний и футархии. Основные функции сети Zeitgeist включают методы создания, заключения пари и расчета рынков прогнозов. Однако, проект также состоит из протокола управления, который влияет на направление сети, децентрализованного суда для разрешения споров и утилит для работы футархических организаций. Zeitgeist создан для экосистемы Polkadot и Kusama и позиционирует себя как центр рынков прогнозирования в Web3.
⠀Название имеет немецкие корни и переводится на русский как «Дух времени»:
Фазы
Награды
⠀Да, мы планируем вознаграждать операторов узлов. У нас обязательно будет какая-то форма вознаграждения для коллаторов, и мы обсуждаем дополнительные варианты. Владельцы нод, которые принимали участие в предыдущих месяцах, получат приоритетное право становления коллаторами. Более подробную информацию мы сообщим в ближайшем будущем.
Требования к серверу
⠀По документации (VPS/VDS/DS):
Ryzen 5 3600 (6C/12T), 16 GB RAM, SSD
⠀Подходит (VPS/VDS/DS):
4 CPU, 8 GB RAM, 400 GB SSD
Запуск
⠀Каждый подраздел — отдельный вид установки, нужно выбрать один из них.
Linux (ручной)
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget jq build-essential pkg-config libssl-dev -y
sudo useradd -M zeitgeist sudo usermod zeitgeist -s /sbin/nologin
sudo mkdir -p /services/zeitgeist/bin /services/zeitgeist/battery_station
cd; \ zeitgeist_version=`wget -qO- https://api.github.com/repos/zeitgeistpm/zeitgeist/releases/latest | jq -r ".tag_name"`; \ wget -qO /services/zeitgeist/bin/zeitgeist "https://github.com/zeitgeistpm/zeitgeist/releases/download/${zeitgeist_version}/zeitgeist_parachain"; \ wget -qO /services/zeitgeist/battery_station/battery-station-relay.json "https://raw.githubusercontent.com/zeitgeistpm/polkadot/battery-station-relay/node/service/res/battery-station-relay.json"; \ chmod +x /services/zeitgeist/bin/zeitgeist; \ cp /services/zeitgeist/bin/zeitgeist /usr/bin/
sudo chown -R zeitgeist:zeitgeist /services/zeitgeist
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n zeitgeist_moniker
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 30333 9933 9944 30334 9934 9945
sudo tee <<EOF >/dev/null /etc/systemd/system/zeitgeistd.service [Unit] Description=Zeitgeist node After=network.target Requires=network.target [Service] User=zeitgeist Group=zeitgeist Restart=on-failure RestartSec=3 LimitNOFILE=65535 ExecStart=/services/zeitgeist/bin/zeitgeist \\ --base-path /services/zeitgeist/battery_station \\ --chain battery_station \\ --name "$zeitgeist_moniker" \\ --port 30333 \\ --rpc-port 9933 \\ --ws-port 9944 \\ --rpc-external \\ --ws-external \\ --rpc-cors all \\ --pruning archive \\ -- \\ --port 30334 \\ --rpc-port 9934 \\ --ws-port 9945 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable zeitgeistd sudo systemctl restart zeitgeistd
⠀Добавить команду для просмотра лога ноды в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n zeitgeist_log -v "sudo journalctl -fn 100 -u zeitgeistd" -a
⠀Сохранить файл в надёжном месте (команда отображает путь)
echo /services/zeitgeist/battery_station/chains/battery_station_mainnet/network/secret_ed25519
Docker
⠀Прочитать статью «Знакомство с Docker».
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)
docker pull zeitgeistpm/zeitgeist-node-parachain:latest
mkdir $HOME/zeitgeist
zeitgeist_version=`wget -qO- https://api.github.com/repos/zeitgeistpm/zeitgeist/releases/latest | jq -r ".tag_name"`; \ wget -qO $HOME/zeitgeist/battery-station-relay.json "https://github.com/zeitgeistpm/zeitgeist/releases/download/${zeitgeist_version}/battery-station-relay.json"
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n zeitgeist_moniker
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 30333 9933 9944
⠀Добавить команды в систему в виде переменных:
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n zeitgeist_log -v "docker logs zeitgeist_node -fn 100" -a
⠀Перейти к разделу «Восстановление».
docker run -dit \ -v $HOME/.zeitgeist:/zeitgeist/data \ -u $(id -u ${USER}):$(id -g ${USER}) \ --name zeitgeist_node \ --restart always \ -p 30333:30333 \ -p 9933:9933 \ -p 9944:9944 \ zeitgeistpm/zeitgeist-node-parachain:sha-b6d3a33 \ --base-path /zeitgeist/data \ --chain battery_station \ --name "$zeitgeist_moniker" \ --pruning archive
⠀Сохранить файл в надёжном месте (выполнять как одну команду, вторая отображает путь)
docker cp zeitgeist_node:/zeitgeist/data/chains/battery_station_mainnet/network/secret_ed25519 $HOME/secret_ed25519; \ echo $HOME/secret_ed25519
Проверка работы
zeitgeist_log
⠀Перейти в Explorer, ввести название ноды и удостовериться, что она есть в списке
⠀Ноды в списке может не быть, потому что у Explorer’а ограничение на показ 1000 штук. Нода может появиться в списке позже.
Восстановление
Подготовка
В частности рекомендуется тем, кто участвовал в более ранних этапах
⠀Если стоит старая нода и ещё не сохранён файл secret_ed25519
, то сохранить его (команда начнёт поиск файла по серверу)
find / -name secret_ed25519
Linux
⠀Скинуть сохранённый в более ранних этапах файл secret_ed25519
в папку /services/zeitgeist/
chmod +x /services/zeitgeist/secret_ed25519
sudo tee <<EOF >/dev/null /etc/systemd/system/zeitgeistd.service [Unit] Description=Zeitgeist node After=network.target Requires=network.target [Service] User=zeitgeist Group=zeitgeist Restart=on-failure RestartSec=3 LimitNOFILE=65535 ExecStart=/services/zeitgeist/bin/zeitgeist \\ --base-path /services/zeitgeist/battery_station \\ --node-key-file /services/zeitgeist/secret_ed25519 \\ --chain battery_station \\ --name "$zeitgeist_moniker" \\ --port 30333 \\ --rpc-port 9933 \\ --ws-port 9944 \\ --rpc-external \\ --ws-external \\ --rpc-cors all \\ --pruning archive \\ -- \\ --port 30334 \\ --rpc-port 9934 \\ --ws-port 9945 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable zeitgeistd sudo systemctl restart zeitgeistd
⠀Удостовериться, что нода использует восстановленный ID (самое нижнее значение)
journalctl -u zeitgeistd.service | grep "node id"
Docker
⠀Скинуть сохранённый в более ранних этапах файл secret_ed25519
в папку
echo $HOME/.zeitgeist/
docker run -dit \ -v $HOME/.zeitgeist:/zeitgeist/data \ -u $(id -u ${USER}):$(id -g ${USER}) \ --name zeitgeist_node \ --restart always \ -p 30333:30333 \ -p 9933:9933 \ -p 9944:9944 \ zeitgeistpm/zeitgeist-node-parachain:latest \ --base-path /zeitgeist/data \ --node-key-file /zeitgeist/data/secret_ed25519 \ --chain battery_station \ --name "$zeitgeist_moniker" \ --pruning archive
⠀Удостовериться, что нода использует восстановленный ID (самое нижнее значение)
docker logs zeitgeist_node | grep "node id"
Обновление
Linux
systemctl stop zeitgeistd
⠀Скачать последнюю версию бинарного файла
cd; \ zeitgeist_version=`wget -qO- https://api.github.com/repos/zeitgeistpm/zeitgeist/releases/latest | jq -r ".tag_name"`; \ wget -qO /services/zeitgeist/bin/zeitgeist "https://github.com/zeitgeistpm/zeitgeist/releases/download/${zeitgeist_version}/zeitgeist_parachain"; \ wget -qO /services/zeitgeist/battery_station/battery-station-relay.json "https://raw.githubusercontent.com/zeitgeistpm/polkadot/battery-station-relay/node/service/res/battery-station-relay.json"; \ chmod +x /services/zeitgeist/bin/zeitgeist; \ cp /services/zeitgeist/bin/zeitgeist /usr/bin/
⠀Дать разрешение на его выполнение
sudo chown -R zeitgeist:zeitgeist /services/zeitgeist
systemctl restart zeitgeistd
zeitgeist_log
Docker
docker pull zeitgeistpm/zeitgeist-node-parachain:latest
docker stop zeitgeist_node
docker rm zeitgeist_node
docker run -dit \ --name zeitgeist_node \ --restart always \ -p 30333:30333 \ -p 9933:9933 \ -p 9944:9944 \ -v $HOME/zeitgeist/secret_ed25519:/zeitgeist/data/secret_ed25519 \ zeitgeistpm/zeitgeist-node-parachain:latest \ --base-path /zeitgeist/data \ --node-key-file /zeitgeist/data/secret_ed25519 \ --chain battery_station \ --name "$zeitgeist_moniker" \ --pruning archive
Вклад сообщества
Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов
Как сюда попасть?
⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:
- Название проекта;
- Краткое название в 2-3 слова (будет использоваться как заголовок);
- Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).
- Пользу сообществу;
- Возможность заявить о себе;
- Дополнительную возможность представления доказательств контрибуции в различных проектах.
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $zeitgeist_moniker
zeitgeist_log sudo journalctl -fn 100 -u zeitgeistd docker logs zeitgeist_node -fn 100
⠀Узнать ID ноды (самое нижнее значение)
journalctl -u zeitgeistd.service | grep "node id" docker logs zeitgeist_node | grep "node id"
sudo systemctl restart zeitgeistd docker restart zeitgeist_node
Полезные ссылки
Официальный сайт проекта | Официальная группа Telegram
Русскоязычная группа Telegram | Discord General | Discord Seer | Twitter
GitHub | Официальная документация | Explorer | Blog
Благодарности
Команда Let’s Node! — изучение проекта, написание статьи