Aleo Miner
@CryptoWatermelon | https://t.me/CryptoWatermelon![](/file/8452b4f6aaeaba75af87d.png)
Введение
Для запуска узла понадобится сервер, соответствующий следующим требованиям:
- 4 CPU | 16 RAM | 128 GB HDD | Ubuntu 20.04 | Поддержка IPv4
Арендовать можно на любом понравившемся сервисе. Лично я рекомендую воспользоваться услугами WebTropia, SmartApe.
Для подключения к серверу через SSH и работы с ним будем использовать MobaXterm. Гайд по MobaXterm.
Запуск майнера
# Обновляем пакеты. Подробнее: https://clck.ru/Vcu4Z $ sudo apt-get update ----------------------------------------------------------------------- # Устанавливаем необходимые пакеты. Подробнее: https://clck.ru/Vcu4Z $ sudo apt-get install git curl jq ufw pkg-config build-essential libssl-dev clang -y ----------------------------------------------------------------------- # Устанавливаем язык программирования Rust с помощью скрипта. $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Задаём настройку, чтобы rust-приложения запускались в текущей Bash оболочке. Подробнее: https://clck.ru/Vcu32 $ source $HOME/.cargo/.env ----------------------------------------------------------------------- # Копируем репозиторий, содержащий код AleoSDK с GitHub проект и переходим в скачанную папку. Подробнее: https://clck.ru/Vcu5g С помощью AleoSDK мы сгенерируем кошелёк, куда будут поступать награды за майнинг. $ git clone https://github.com/AleoHQ/aleo && cd aleo ----------------------------------------------------------------------- # Локально устанавливаем приложение (крейст) AleoSDK на сервер. Подробнее: https://clck.ru/VcuAb $ cargo install --path . ----------------------------------------------------------------------- # Генерируем кошелёк, который будем использовать для получения наград за майнинг. Файл с данными кошелька будет создан в домашней директории (по умолчанию /root). $ aleo account new > $HOME/aleoAccount.txt && cd # Выводим на экран данные кошелька. Подробнее: https://clck.ru/LTRnm $ cat aleoAccount.txt # Сохраняем адрес кошелька в переменную для удобства. Подробнее: https://clck.ru/VdpUf Не забудьте заменить YOUR_ADDRESS на ваш адрес, сгенерированный ранее. $ echo 'export ADDRESS="YOUR_ADDRESS"' > ~/.profile && source ~/.profile
![](/file/e527ff5ce8eec8cf62ee6.png)
# Клонируем репозиторий, содержащий код майнера. Переходим в скачанную папку. $ git clone https://github.com/AleoHQ/snarkOS && cd snarkOS ----------------------------------------------------------------------- # Локально устанавливаем приложение. $ cargo install --path . --locked ----------------------------------------------------------------------- # Открываем порты, необходимые для работы майнера и его мониторинга с помощью улитки ufw. Подробнее: https://clck.ru/H6wvS $ sudo ufw allow 3030/tcp $ sudo ufw allow 4131/tcp ----------------------------------------------------------------------- # Создаём сервис (запускаем майнер). Подробнее: https://clck.ru/Vdou7 $ sudo tee <<EOF >/dev/null /etc/systemd/system/aleo.service [Unit] Description=Aleo Miner After=network-online.target [Service] User=$USER ExecStart=$HOME/snarkOS/target/release/snarkos --is-miner --miner-address $ADDRESS Restart=always RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target EOF # Управление сервисом. $ sudo systemctl start aleo # Запуск сервиса. $ sudo systemctl stop aleo # Остановка сервиса. $ sudo systemctl daemon-reload # Перезагрузка сервиса. $ sudo journalctl -u aleo -f # Просмотр логов. ----------------------------------------------------------------------- # Команды для мониторинка ноды. Список всех команд: https://clck.ru/VdtnT # Общая информация о ноде: $ curl -s -0 --data-binary '{"jsonrpc": "2.0", "id":"documentation", "method": "getnodeinfo", "params": [] }' -H 'content-type: application/json' localhost:3030/ | jq # Статистика ноды: $ curl -s -0 --data-binary '{"jsonrpc": "2.0", "id":"documentation", "method": "getnodestats", "params": [] }' -H 'content-type: application/json' localhost:3030/ | jq # Количество пиров: $ curl -s -0 --data-binary '{"jsonrpc": "2.0", "id":"documentation", "method": "getpeerinfo", "params": [] }' -H 'content-type: application/json' localhost:3030/ | jq # Получить текущую высоту синхронизации ноды. $ curl -s -0 --data-binary '{"jsonrpc": "2.0", "id":"documentation", "method": "getblockcount", "params": [] }' -H 'content-type: application/json' localhost:3030/ | jq # Высоту основной сети можно посмотреть в explorer: https://www.aleo.network/ ----------------------------------------------------------------------- # Обновление ноды # Останавливаем работу ноды. $ sudo systemctl stop aleo # Переходим в скачанную папку репозитория и скачиваем актуальную версию кода. Подробней: https://clck.ru/Vdujb $ cd $HOME/snarkOS && git fetch # Проверяем историю изменений кода и ищем хэш последнего обновления. Подробней: https://clck.ru/PQ3CX $ git log
![](/file/7f0993c9dbc1119018893.png)
# Переключаемся на актуальную версию кода. Подробней: https://clck.ru/ $ git checkout <COMMIT_HASH> # Не забываем заменить хэш коммита на свой. # Удаляем старое приложение. Подробнее: https://clck.ru/Vdure $ rm $HOME/snarkOS/target/release/snarkos # Устанавливаем новое приложение. $ cargo install --path . --locked # Чистим файлы, содержащие сведения о прошлых сетях. $ cd $HOME/.snarkOS/ && ls | grep -v config.toml | xargs rm -rfv # Снова запускаем сервер. $ sudo systemctl start aleo