Ноды
August 26, 2022

Aleo нода

Автор статьи Let's Node
Мой канал Crypto time

Aleo — это блокчейн, использующий технологию доказательства с нулевым разглашением. Применение этой технологии позволяет обеспечить высокий уровень конфиденциальности при работе с сетью — неразглашение кошелька отправителя и суммы транзакции

Смотреть подробное видео по установке

Официальная документация

Фазы

⠀На данном этапе известны следующие фазы:

  • 30 ноября 2021 г. — 15 февраля 2022 г. — проведение тестовой сети testnet2;
  • 1 квартал 2022 г. — запуск основной сети.

Награды

⠀На награды выделяется 1.5% от общего предложения токена будущей основной сети, а именно:

  • 10 000 000 токенов для всех участников;
  • 5 000 000 для топ 100 майнеров.

⠀Награда для всех высчитывается по следующей формуле

⠀Топ 100 участников, добывших больше всего блоков, получат следующие награды:

  • 1 место — 1 000 000 токенов
  • 2 место — 500 000
  • 3 место — 250 000
  • 4 место — 125 000
  • 5 место — 62 500
  • 6-100 места — 31 250

⠀Для получения наград будет необходимо пройти KYC после завершения тестовой сети.

Что устанавливается

⠀По документации существует два вида приложений:

  • Майнер — добывает блоки, зарабатывает токены;
  • Клиент, который ставить не нужно.

Требования к серверу

Нам потребуется сервер с следующими характеристиками:

Минимальные:

  • CPU: 16
  • RAM: 16GB
  • SSD: 128GB
  • Ubuntu: 20.04

Рекомендуемые:

  • CPU: 32
  • RAM: 32GB
  • SSD: 128GB
  • Ubuntu: 20.04

Арендовать сервер можно на сайтах:

  1. Digitalocean
  2. Kamatera
  3. Cloud google
  4. Vultr
  5. Oracle
  6. Linode

Подробная статья описана в статье Бесплатный сервер для ноды

Есть возможность запуска нескольких майнеров на один кошелёк, в теории 1 сервер будет добывать больше, чем 2 в сумме с такими же характеристиками

По неподтверждённой информации с 4-ой недели можно будет задействовать видеокарты для майнинга


Запуск

Каждый подраздел — отдельный вид установки, нужно выбрать один из них.

Linux (ручной)

Для новичков

Обновить пакеты

sudo apt update && sudo apt upgrade -y

Установить необходимые пакеты

sudo apt install wget jq git build-essential pkg-config libssl-dev -y

Установить Rust

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh)

Клонировать репозиторий с нодой

cd; git clone https://github.com/AleoHQ/snarkOS.git --depth 1

Перейти в папку с snarkOS

cd snarkOS

Собрать бинарный файл snarkOS

cargo build --release

Скопировать бинарный файл в стандартное хранилище бинарных файлов

mv $HOME/snarkOS/target/release/snarkos /usr/bin

Проверить версию, должна быть snarkos 2.0.0

snarkos --version

Уже есть кошелёк

Поместить файл под названием account_aleo.txt, обязательно содержащий строку

      Address  aleo1___

По пути (команда отображает путь)

echo $HOME/account_aleo.txt

Ещё нет кошелька

Создать кошелёк

snarkos experimental new_account > $HOME/account_aleo.txt

Сделать резервную копию файла с данными кошелька, сохранив его в надёжном месте (команда отображает путь)

echo $HOME/account_aleo.txt

Никому не показывать приватный ключ

Продолжение

Добавить адрес кошелька в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_wallet_address -v `grep -oPm1 "(?<=Address  )([^%]+)(?=$)" $HOME/account_aleo.txt`

Проверить добавление адреса в систему

echo $aleo_wallet_address

Если нет, то вернутся к шагу с работой с кошельком

Открыть используемые порты

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) 3032 4132

Создать сервисный файл

printf "[Unit]
Description=Aleo Miner
After=network-online.target

[Service]
User=$USER
ExecStart=`which snarkos` --miner $aleo_wallet_address --trial  --node 0.0.0.0:4132 --rpc 0.0.0.0:3032
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/aleod.service

Запустить сервисный файл

sudo systemctl daemon-reload
sudo systemctl enable aleod
sudo systemctl restart aleod

Добавить команду для просмотра лога майнера в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_log -v "sudo journalctl -fn 100 -u aleod" -a

Добавить команду для просмотра информации о майнере в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Aleo/main/node_info.sh) -l RU 2> /dev/null" -a

Подождать пару минут, пока майнер запустится

aleo_log

Linux (автоматический)

Для продвинутых

Запустить скрипт и дождаться окончания установки

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Aleo/main/multi_tool.sh)

Для запуска майнера на уже существующий кошелёк необходимо поместить файл под названием account_aleo.txt, обязательно содержащий строку

      Address  aleo1___

По пути (команда отображает путь)

echo $HOME/account_aleo.txt

⠀И запустить после этого скрипт


Сброс синхронизации

Например, когда майнер ушёл в форк

Остановить майнер

sudo systemctl stop aleod

Удалить базу данных

rm -rf $HOME/.aleo/storage/ledger-2

Перезапустить майнер

sudo systemctl restart aleod

Информация о майнере

Командная строка

Добавить команду для просмотра информации о майнере в систему в виде переменной

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n aleo_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Aleo/main/node_info.sh) -l RU 2> /dev/null" -a

Посмотреть информацию о майнере

aleo_node_info

Браузер

⠀Перейти на любом устройстве по ссылке (команду использовать на сервере)

echo "https://nodes.guru/aleo/aleochecker?q=`wget -qO- eth0.me`"

⠀Или перейти на сайт, ввести IP сервера и нажать «Check»

⠀Посмотреть информацию о майнере


Обновление

Ручное

Если не скачан GitHub репозиторий с нодой (папка snarkOS), то клонировать его

cd; git clone https://github.com/AleoHQ/snarkOS.git --depth 1

Обновить бинарные файлы

cd $HOME/snarkOS && \
git stash; \
git pull; \
cargo clean; \
cargo build --release; \
mv $HOME/snarkOS/target/release/snarkos /usr/bin; \
cd

Запустить сервисный файл

sudo systemctl restart aleod

Полу-автоматическое

Запустить скрипт и дождаться окончания обновления

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Aleo/main/multi_tool.sh) -u

Автоматическое

Создать сервисный файл

printf "[Unit]
Description=Aleo auto-updater
After=network.target

[Service]
type=forking
User=$USER
Environment="HOME=$HOME"
WorkingDirectory=$HOME
ExecStartPre=`which wget` -qO $HOME/.aleo/multi_tool.sh https://raw.githubusercontent.com/SecorD0/Aleo/main/multi_tool.sh
ExecStartPre=`which chmod` +x $HOME/.aleo/multi_tool.sh
ExecStart=$HOME/.aleo/multi_tool.sh -u
Restart=always
RestartSec=1m

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/aleou.service

Запустить сервисный файл

sudo systemctl daemon-reload
sudo systemctl enable aleou
sudo systemctl restart aleou

Скрипт перезапускается каждую минуту

Для просмотра лога скрипта автоматического обновления

sudo journalctl -fn 100 -u aleou

Информация о майнере в Telegram

Бот для проверки состояния майнера, который парсит и отображает с RPC следующую информацию:

  • Статус майнера;
  • Текущую высоту блока;
  • Количество пиров.

Использование:

  • Запустить бота командой /start;
  • Отправить команду Внести;
  • Прислать IP сервера;
  • Отправить команду Меню;
  • Нажать на добавленный IP и увидеть информацию о майнере.

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

Доступные переменные (при использовании убрать echo)

echo $aleo_wallet_address

Посмотреть лог

# Майнера
aleo_log
sudo journalctl -fn 100 -u aleod

# Скрипта автоматического обновления
sudo journalctl -fn 100 -u aleou

Посмотреть информации о майнере

aleo_node_info

Перезапустить майнер

sudo systemctl restart aleod

Ссылки

Официальный сайт проекта

Русскоязычная группа Telegram

Discord

Twitter

GitHub

Официальная документация

Explorer

Checker