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
EOFsudo 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
EOFsudo 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! — изучение проекта, написание статьи