Пошаговая инструкция массовой установки и настройки форков Chia на Linux


Сказ о том как я 28 форков настраивал на 5 машинах или поговорим об автоматизации процесса установки, и массовой настройки форков Chia.

Chia форки размножаются как грибы под летнем дождем. Когда я начинал знакомиться с Chia, майнингом и фермерством я даже не могу подумать сколько трудов и времени может потребоваться для настройки. И вот настал тот час, когда решил установить все форки Chia ну или почти все.
Посмотрев на список форков Chia, я понял, что руками забивать все настройки будет очень долго. Первая идея пришла сделать легкий установщик. Для этого понадобилось собраться все ссылки на Git репозитории форков, и написать простой скрипт bash. Я решил сделать для каждого форка свой скрипт, а потом отдельный, который бы их запускал. Но об этом позже.
Так же нужно добавить ключ или ключи, от Chia Кошелька. Опять смотрю в сторону автоматизации, и на данном этапе понимаю кроме ключей нужно еще добавить плоты, поменять адрес фермера и перенести SSL с основной ноды. Да уж работка предстоит не малая.
Раскидав план, первым делом написал скрипт для импорта ключей и плотов, спустя некоторое время в итоге получилось у меня несколько скриптов которые делали всю рутинную работу.

run.sh

– основной скрипт запуска, он запускает

exec.sh

с параметрами, в которых указаны данные от форков.

exec.sh

— он запускает уже наши остальные скрипты: (add_keys.sh, add_plots.sh, export_ssl.sh, import_ssl.sh опционально), которые выполняют импорт ключей, добавление плотов, экспорт, импорт SSL сертификатов если у вас несколько машин.

add_keys.sh

– Добавляет ключи.

add_plots.sh

– Добавляет плоты.

export_ssl.sh

– Делает резервную копию SSL.

import_ssl.sh

– импортирует SSL из резервной копии.

import_config.sh

– Устанавливает конфигурацию.

Как с этим всем работать?! Да все просто!?

1) Вам нужен компьютер с Linux дистрибутивом. Я использую XUbuntu 20.04 LTS.
2) Нужны сами скрипты, и немного подредактировать под себя.
3) Немного свободного времени и терпения.

Массовая установка форков Chia c нуля.

  • Создадим папку chia по пути
    /usr/share/

    из консоли

sudo mkdir /usr/share/chia
  • Присвоим владельца и группу из под которого работаем и дадим права на запись. Я работаю под пользователем toor который входит в группу toor.
sudo chown -R toor:toor /usr/share/chia
sudo chmod -R 0777 /usr/share/chia
  • Переходим в папку
    /usr/share/chia

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

    git
cd /usr/share/chia
sudo apt install git -y
git clone https://github.com/Chia-Rio/chia-forks-fast-installer-scripts
  • Переносим содержимое папки
    install

    в папку

    /usr/share/chia

    , должно получиться как на скрине.

mv -v /usr/share/chia/chia-forks-fast-installer-scripts/install/* /usr/share/chia

 

  • Запускаем установку, ждем. Форки установятся в папку
    /usr/share/chia
sh all.sh

Массовая настройка форков Chia.

Первоначальная настройка скриптов:

  • Сначала мы настроим все скрипты. Переходим в папку
    /usr/share/chia/chia-forks-fast-installer-scripts/init

    и отредактируем  некоторые файлы.

  • Открываем
    run.sh

    и исправляем переменную

    PATH_HOME

    в ней указываем путь где у нас находятся папки с конфигурацией форков:

    .chia

    ,

    .apple

    и тд. Как правило это домашняя директория пользователя

    /home/username

    . Обратите внимание что заканчиваться путь должен без косой черты.

  • FARMER_HOST

    в нем указываем ip главной ноды при майнинге с нескольких машин.

Добавление и удаление ключей

  • За добавление новых ключей отвечает файл
    add_keys.sh

    и папка

    keys

    в ней должны лежать текстовые файлы с мнемонической фразой от кошелька если используете несколько кошельков. Рекомендую указывать кошельки в порядке возрастания, и добавлять кошелек на который приходит награда первым.

  •  Открываем файл
    add_keys.sh

    , ищем

    #$EXEC_FILE keys delete_all

    и удалим в начале знак #, раскомментируем строку, сохраняем файл.

Добавление, удаление плотов в форки Chia

  • Открываем файл
    add_plots.txt

    и добавляем список путей к вашим плотам для добавления. Каждый путь с новой строки.

  • Открываем файл
    del_plots.txt

    и добавляем список путей к вашим плотам которые нужно удалить из списка. Каждый путь с новой строки.

Редактирование файла config.yaml

  • Открываем файл
    import_config.sh

    тут уже опционально, по выбору. Не нужные строки нужно закомментировать.

$EXEC_FILE configure —enable-upnp false

— запрещает upnp

$EXEC_FILE configure —log-level INFO

— режим вывода ошибок

$EXEC_FILE configure —set-farmer-peer $FARMER_HOS

— если нужно сменить IP адрес Farmer  сервера.

Экспорт и импорт SSL сертификатов от форков Chia.

За экспорт и импорт сертификатов отвечают файлы

import_ssl.sh

и

export_ssl.sh
  • Первое что нужно, это собрать сертификаты которые на главной ноде, потом перенести их на остальные комбайны (harvester)
  • В файле
    exec.sh

    раскомментируем строку

    sh $MYSRC/export_ssl.sh

    , и создадим папку ssl и даем права на запись.

sudo mkdir ssl
sudo chmod 0777 ssl
  • Для импорта на другие машины, раскомментируем следующую строку, а
    sh $MYSRC/export_ssl.sh

    закомментируем.

#sh $MYSRC/export_ssl.sh $PATH_CHIA $EXEC_FILE $TEMP_PATH_CHIA #Экспорт SSL
sh $MYSRC/import_ssl.sh $PATH_CHIA $EXEC_FILE $TEMP_PATH_CHIA #Импорт SSL

Финальный этап массовой настройки форков Chia.

Переведем все редактированные файлы в кодировку unix.

  • Устанавливаем утилиту dos2unix и преобразовываем файлы.
sudo apt install dos2unix -y
dos2unix /usr/share/chia/chia-forks-fast-installer-scripts/init/*
dos2unix /usr/share/chia/chia-forks-fast-installer-scripts/keys/*

Запускаем настройку форков chia после всех примененных действий.

sh run.sh

Массовый запуск, перезапуск остановка и автостарт форков Chia

  • После настройки нужно как то всем управлять, было написаны сервисы и 3 скрипта которым все это управлялось.
  • Переходим в папку
    control

    и копируем файлы из папки

    system

    или

    system-harvester

    в папку

    /etc/systemd//system/

    , я копирую папку для запуска только харвестера. Так как главная надо у меня на другом ПК. Если вы настраиваете основную и единственную машину то вам нужна просто папка

    system
  • Перезагружае демон, чтоб изменения вступили в силу
sudo cp -fr /usr/share/chia/chia-forks-fast-installer-scripts/control/system-harvester/. /etc/systemd/system/
sudo systemctl daemon-reload
  • Удаляяем скрипты установки и копируем файлы для управления в
    /usr/share/chia
rm -fr /usr/share/chia/*.sh
cp -fr /usr/share/chia/chia-forks-fast-installer-scripts/control/*.sh /usr/share/chia
sudo chmod +x /usr/share/chia/*.sh
  • Из названий можно понять что делают скрипты.
start_forks.sh

— запуск форков, идет с промежутком в 10 секунд чтоб успели прогрузиться все жесткие диски.

restart_forks.sh

— перезапуск форков, идет с промежутком в 10 секунд чтоб успели прогрузиться все жесткие диски.

stop_forks.sh

— останавливает выполнение всех форков

sudo sh start_forks.sh

Частые проблемы

Не дает не чего изменить в папке или скопировать?

Нет прав на запись или текущему пользователю не принадлежит папка.
Решение:

sudo chown -R toor:toor /usr/share/chia
sudo chmod -R 0777 /usr/share/chia

Добавляется не понятные символы в конце строк после редактирования?

Проблема в кодировке в файла, очень часто встречается если отредактировать файл в windows а потом скопировать на Linux.
Решение:

sudo apt install dos2unix -y
dos2unix /usr/share/chia/chia-forks-fast-installer-scripts/init/*
dos2unix /usr/share/chia/chia-forks-fast-installer-scripts/keys/*

Заключение

Процесс установки форков я постарался сделать очень гибким и в тоже время простым. Человек который немного понимает в bash сможет всегда что то переделать под себя. В следующей статье я напишу о том как сделать автозапуск форков во время старта ОС. По всем вопросам пишите комментарии. Буду рад ответить.

GitHub

https://github.com/Chia-Rio/chia-forks-fast-installer-scripts

ПОДПИСЫВАЙТЕСЬ НА НАШ КАНАЛ В youtube, ЧТОБЫ БЫТЬ В КУРСЕ.

Добавить комментарий