Сказ о том как я 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 сможет всегда что то переделать под себя. В следующей статье я напишу о том как сделать автозапуск форков во время старта ОС. По всем вопросам пишите комментарии. Буду рад ответить.
Хорошая статья, имеется лишь несколько вопросов
Мнемонической фразу, которая располагается в папке keys, надо добавлять в один текстовый документ или надо её как-то разбить?
После выполнения команды sh run.sh пишет Can’t open ./activate , как лучше исправить?
Спасибо большое. В каждый текстовый файл добавляете свою мнемоническую фразу, записана она должна быть одной строкой, слова через пробел.
Нужно посмотреть на каком форке он не может активировать виртуальную среду. Сегодня пгляну зменения по форкам и внесу в репозиторий.