Как настроить чиа нетворк

CHIA -Технические настройки, наблюдения и возможные пути оптимизации.

CHIA. Технические настройки, наблюдения и возможные пути оптимизации.

Дано
Processor: Intel Pentium G4560 3.5GHz (2c/4t)
Matherboard: ASUS ROG STRIX Z270F GAMING
RAM: 2x8GB Crucial Ballistix (XMP 2400 MHz)
SSD под винду: WD Green 120GB (2,5″ SATA)
NVMe под плоттинг: Silicon Power 1000GB (U.2)
HDD (в кол-ве N штук) под фарминг: Toshiba X300 8TB (3,5″ SATA)
Файл подкачки: 16GB

Кратко про свои эксперименты
Как видно, характеристики не самые впечатляющие. Собиралось все из того, что было + покупалось новое в самом начале хайпа монеты. После установки мастер-ноды была долгая синхронизация (о ней чуть дальше) + производилась проверка жизнеспособности системы. Естественно, начиналось все с одного плота и без каких-либо доп. настроек. Проверялось потребление памяти, ресурсов и энергопотребления. И вот спустя пару десятков проверок и несколько десятков часов исследований нарисовалась следующая картина. Ниже приведена выборка разного рода попыток для наглядности (указывается средний Total time для одного плота).

Сделанные выводы
1) Как видно, увеличение кол-во потоков даже на 4-х поточном (но 2-х ядерном) стареньком процессоре дает выигрыш при засеивании. В моем случае почти в 10%, но при этом процессор загружен на 99% всегда. Если бы это были честные 4 ядра, то выигрыш был бы больше. Но тут есть нюанс — если проц всегда загружен на 99%, то он потом может «захлебнуться» и завершить все процессы chia (и дочерние тоже), что чревато простоями и пересеиванием. У меня такое случалось раз в 3 дня где-то. Возможно причина была в старой версии блокчейна (сейчас уже перешел на 1.1.4) или еще в чем-то, но если проц загружен не на максималку, то проблем не наблюдалось. Тут уж каждый сам для себя решает.
2) Уменьшение бакетов (BUCKETS) в два раза практически не дает какого-либо выигрыша в скорости, но (. ) уменьшает кол-во операций перезаписи на вашем SSD/NVMe в 2 раза (более подробно в пункте «Немного про опыт других фермеров»)! Т.е. при уменьшении бакетов ваш SSD/NVMe будет жить дольше (хотя бы в первой фазе), но и объема памяти при этом нужно больше. В теории можно подобрать кол-во бакетов ровно столько, сколько памяти RAM (или около того), дабы сократить чрезмерную перезапись. При этом можно сделать адекватный файл подкачки, чтобы Windows жила нормальной жизни (за владельцев Mac/Linux ничего не могу сказать), но это сократит ресурс SSD под винду.
3) Скоростная память (с низкими задержками) очень важна и особенно важна, когда кол-во бакетов меньше стандартных 128. В первой фазе все вычисления производятся в оперативной памяти. Тут довольно простая арифметика. Чем выше скорость, тем больше данных можно записать в память или считать из памяти за единицу времени. Чем ниже тайминги (задержки), тем меньше процессору нужно времени, чтобы обращаться к памяти.
4) Увеличение частоты процессора дает прирост. Правда в моем случае он весьма скромный — всего лишь около 2%-3%. Возможно это совокупоность разгона частоты процессора и памяти, ну или же просто стабильная погрешность (нет) после переразгрузки рига. Проверить на другом железе, к сожалению, нет возможности. Скорее всего именно поэтому у многих обзорщиков на современных ПК (вроде AMD Ryzen 5900x) не удается получить хорошей скорости плоттинга при увеличении потоков, т.к. при увеличении потоков тот же Ryzen, например, сбрасывает частоты кардинально, дабы уложиться в потребление и теплопакет. Плюс никто из обзощиков не указывает при какой частоте и при каких таймингах работает у них память. Что ж, можно залочить на определенном урове разгон процессора, сделать адекватное охлаждение, увеличить допустимое потребление процессором, купить шустрее память и т.д.
5) Ну и естественно пункты 3 и 4 не будут играть большой роли (именно в многопоточном плоттинге), если ваш SSD/NVMe также не вытягивает по скорости. В моей конфигурации какой-нибудь диск с громким названием вроде EVO 980 Pro Mega Super FX будет просто бесполезен, зато он точно не будет узким местом.
6) Внимательно относитесь к единицам измерения chia. Т.е. наши привычные KB, MB и GB — это не то же самое, что и KiB, MiB и GiB. Например, 3250MiB = 3407.872MB, а 6500MiB = 6815.744MB. В GUI-программе chia мы указываем именно MiB! Вот тут есть калькулятор: https://www.gbmb.org/mib-to-mb
7) Ну и тут все как с майнингом на видеокартах. Сначала долго подбираешь оптимальные комплектующие и оптимальные настройки, а потом это все работает на тебя. Единственный момент — гораздо больше узлов для настройки.

Читайте также:  Как создать свой пул ethereum

Немного про опыт других фермеров
Вот тут https://thechiafarmer.com/2021/04/21/optimizing-plotters-in-windows один фермер рассказывает, что он оптимизировал свою систему (Ryzen 5900x 12c/24t, 32GB RAM . MHz, 6x2TB NVMe 3200MBs/2900MBs) таким образом, что она засеивает 12 плотов каждые 8 часов. В двух словах: на такой системе он засеивает параллельно 12 участков k=32 в 2 потока при 128 бакетах, при этом выделяет каждому участку всего (. ) 2400MB (2288.82MiB) памяти. И все ок. Тут есть одна хитрость: если не хватает памяти для US (uniform sort), то выполняется QS (quick sort). QS выполняется дольше, чем US, поэтому некоторые операции (и фазы в итоге) могут длиться несколько дольше. Если же памяти не хватает и для QS, то плоттить вообще не получится! У этого фермера с таким подходом все выполняется с QS, но дольше (хотя за счет хорошего проца и памяти разница не сильно велика). В теории он для QS мог оставить только 1625MiB (в реальности нужно где-то 1700MiB-1750MiB), т.к. максимальное значение US при 128 бакетах ровно 3250MiB, а QS, в свою очередь, ровно 1625MiB (ровно в 2 раза меньше). Т.е. у каждого из нас есть еще пространство для оптимизаций. И небольшое отступление — иногда процесс chia сам выполняет принудительно QS (видимо по свом каким-то алгоритмам), но этого не стоит пугаться, т.к. потребление памяти в этот момент обычно минимальное. И да — выводы про бакеты были взяты у этого фермера По крайней мере, он заявлял, что при 256 бакетах нагрузка операций чтения/записи на диски возрастает значительно ¯\_(ツ)_/¯
Важный момент: если вы в chia программе указали 3250MiB (например, для плоттинга при 128 бакетах), то реально выделено будет чуть меньше (видимо часть памяти резервируется еще под что-то) и сортировка все равно будет вывалиться в QS

Немного про отложенное засеивание
Можно поставить на поток (например, 50 плотов подряд) даже на малых объемах SSD и эффективность будет гораздо выше. Самое главное — это определить длину первой фазы (т.к. именно она работает в многопотоке и потребляет больше всего процессорного времени и памяти, а остальное время уходит на работу с дисками). Т.е. берем обычное засеивание одного плота в 2 потока (в идеале смотрим еще и большее кол-во потоков), прогоняем цикл и смотрим логи. Например, в моем случае для 2 потоков первая фаза (Time for phase 1) длится около 15700 секунд (261 минут). Весь же процесс занимает (Total time) около 32800 секунд (547 минут). Т.е. имея в своем распоряжении 1 TB можно спокойно ставить засеивание 30 плотов с отложенным запуском на 265 минут (т.е. лучше накинуть 3-5 минут сверху от завершения первой фазы) и засеивание будет происходит равномерно, как на конвеере. Не забываем про QS и US, иначе время может быть больше. В Windows PowerShell, по всей видимости, можно тоже смело ставить отложенное засеивание.
Самым же эффективным лично у меня оказалось засеивание 1 плота в 4 потока при 64 бакетах и выделением 6750 MiB (хотя нужно было указать чуть больше, чтобы сортировка не вывалилась в QS). Но, к сожалению, отложено плоттить таким образом не получится, т.к. первая фаза занимает 160 минут, а общее время выполнения 375 минут + не остается провессорного пространства… 1 плот в 3 потока тоже ок (173 минуты под первую фазу и общее время 389 минут) + 1 поток всегда свободен, но и тут плоттить не получится нормально. Т.е. у меня можно нормально отложено сеять только 1 плот в 2 потока (сейчас как раз проверяю этот момент).

Немного про максимальное засеивание HDD
Вот тут https://plot-plan.chia.foxypool.io есть калькулятор максимального засеивания. Т.е. указываете свой реальный объем диска и он показывает, как эффективно (т.е. каким кол-вом k32, k33 и k34) с максимально занятым местом можно его засеять. В моем случае HDD носит гордое значение 8TB, но реально в Windows доступно 7.27TB (ну знаете все эти 1TB=1000GB, хотя реально 1TB=1024GB), поэтому следует указать реальное значение объема. Соответственно, программка предлагает мне засеять 40*k32 и 13*k33 с эффективностью использования дискового пространства в 99.98% (. ) или же 66*k32 с эффективностью 98.81% (тоже неплохо).

Читайте также:  Биткоин кошелек как посмотреть баланс

Немного про синхронизацию
Когда только запустил мастер-ноду синхронизация шла около суток (+/-). Естественно, я задался вопросом, а почему так. Изначально грешил на WI-FI свисток, по которому подключен риг к сети, но все оказалось одновременно и просто, и сложно. Как оказалось, необходимо адекватное кол-во подключений к нодам пиров (peers), интродюсеров (introducers) и синкноды (syncnodes). Итак, что нужно делать, если запускаешь ноду в первый раз (да и вообще после перезапуска ПК или самой ноды тоже полезно)? Первое — это необходимо добавить хотя бы одну ноду интродюсера. Второе — добавить синкноду (можно даже первым пунктом). Третье — это вручную добавить публичные и актуальные ноды пиров. Понятное дело, что главный процесс сам перебирает ноды и пытается к ним подключиться, но делает это очень долго. Поэтому лучше слегка помочь. В графической программе CHIA жмем кнопку «CONNECT TO OTHER PEERS» на вкладке «FULL NODE» (самая верхняя вкладка) и добавляем ручками по списку. Лично я сразу добавил европейскую ноду интродюсера, синкноду и пяток пиров.
Список нод интродюсеров тут: https://github.com/Chia-Network/chi…sues—Port-8444#speed-up-connecting-to-nodes
Список нод для синхронизации: https://github.com/Chia-Network/chia-blockchain/issues/3732
Список актуальных нод пиров тут (обновляется каждый час): https://chia.keva.app
Адрес синкноды тут (возможно есть и другие адреса): https://chiafactory.com/guides/cant-sync-chia-node
Важный момент: иногда добавление пиров вручную происходит не с первого и даже не со второго раза, поэтому лучше сделать несколько попыток подключения к каждому пиру.

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

Открытие порта 8444
Важным пунктом является открытие порта 8444. Изначально CHIA — это распределенная сеть (ака торрент). Общественные ноды, к которым вы подключаетесь, это ноды таких же работяг, как и вы. В свою очередь вы, как участник, тоже должны раздать свою ноду коллегам по цеху и тогда все будет ок. В оригинальном описании сказано, что это якобы поможет быстрее устанавливать соединения пиров с вами, а вы свою очередь быстрее присоединитесь как к самим пирам, так и к пирам пиров и т.д. (вот такой вот каламбур). Подробнее тут: https://github.com/Chia-Network/chia-blockchain/wiki/Resolving-Sync-Issues—Port-8444
Так что не забудьте открыть доступ на уровне роутера. У меня TP-Link и к нему есть куча инструкций и понятных описаний. Если же на уровне роутера все открыто, но доступа нет, то смело звоните/пишите провайдеру. Если провайдер не может открыть нужный порт, то можно попытаться воспользоваться услугами другого провайдера. У моего провайдера порт закрыт, а чтобы открыть нужен выделенный IP-адрес, который стоит сколько-то денег в месяц
Проверить доступность порта можно тут https://portchecker.co и тут https://2ip.ru/check-port/?port=8444

Если понравился пост и ждешь дальнейших исследований, то можно и отблагодарить:
XCH: xch1rrctcts0njzd6unpmtc5pe27k58y36w5pz45lldk0vyy0xle2zvst4jwly
ETH: 0x41e4623382bd23ef92c0a7f00745d9b7d1838613
ETC: 0x25f4b6298b6aabdf24d584b572bdb21d75181c85
BTC: 1JpkuqXsE9keXGPW8CoCdXvzCUp45UBzS5
Буду очень признателен!

Источник

Как майнить Chia Coin на нескольких компьютерах.

Программа Chia blockchain представляет из себя совокупность нескольких утилит. Это прежде всего блокчейн-кошелёк, которому нужна постоянная синхронизация для работы, потом это инструмент для создания плотов (Плоттинг – засеивание) и конечно же майнер. У многих возникают проблемы с настройкой майнинга Чиа на нескольких фермах из-за нюансов работы кошелька.

Если вы собрали одну ферму для майнинга XCH на серверном железе, с большим объёмом ОЗУ и огромнейшим количеством накопителей и более не планируете расширяться, то вы избавите себя от головной боли, ибо настройка майнинга CHIA COIN на множестве компьютеров, требует очень детальной настройки.

Как же настроить майнинг Чиа на нескольких фермах, находящихся в одной локальной сети?

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

Читайте также:  Лучший агрегатор новостей криптовалют

Перейдите в раздел “Ключи” и сохраните все ключи и ключевые мнемонические слова в текстовый файл. Далее нужно закрыть программу, и желательно перезагрузить ПК, чтобы в диспетчере не было никаких процессов, связанных с Chia.

Теперь нужно сохранить на флешку или перенести на сетевой диск, у кого он есть) файлы лицензии ключей.

Стандартное их расположение на системном диске “C”, в папке Пользователи, заходим в папку от вашей учётной записи. Включите отображение скрытых элементов в параметрах на панели сверху. Ищите папку “.chia”.

Сами файлы будут находиться в папке “ca”.

Далее нам нужно узнать IP адрес основной ноды во внутренней локальной сети. Запускаем командную строку от имени администратора и вводим команду “ipconfig”.

Нам нужен IPv4 (Адаптер Ethernet), копируем его и сохраняем в текстовый файл.

Теперь перемещаемся на второй риг, можете подключиться к нему удалённо через Тим Вьювер или любым другим способом. Устанавливаем на него актуальную версию программы CHIA с официального сайта.

Вводим мнемоническую фразу от вашего кошелька, состоящую из 24 ключевых слов.

После подключение к кошельку закрываем программу.

Теперь нам нужно отредактировать файл конфига. Для этого переходим в диск “C”, “Пользователи”, папка с именем пользователя, “.chia”, “mainnet”, “config”.

Открываем файл “config.yaml” любым текстовым редактором (блокнот, вордпэд или нотпэд++).

Нам нужно найти строчку с адресом базы данных блокчейна и поменять значение “enable_upnp: true” на false.

Рядом будет строка farmer_peer: под ней будет указан “host: localhost”, меняем его на тот IP, что мы сохраняли в файл на основной машине.

Далее ищем строку “key: config/ssl/ca/chia_ca.key”, под ней будет параметр “farmer_peer:” и ниже “host: localhost”. Вот тут тоже меняем localhost на наш IP основной машины в сети.

Сохраняем изменение в файле и закрываем.

Далее нам нужно подключить файлы лицензионных ключей. Для этого переходим в папку:

Папка app-…. может быть с другим именем, если у вас более новая версия ПО, так что не пугайтесь.

По свободному месту в папке “daemon” кликаем правой кнопкой мыши с зажатой клавишей Шифт, и открываем окно PowerShell.

Разместите файлы ключей где-нибудь на системном диске “C” и скопируйте адрес этой папки.

В окне PowerShell вводим следующую команду и нажимаем Интер.

Удалятся изначальные файлы лицензии (сертификаты) и импортируются новые.

Закрываем PowerShell, запускаем Chia Blockchain на основном компе, ждём подключения, и после запускаем на ферме, и дожидаемся полной синхронизации с сетью.

С этого момента вторая ферма будет добывать монеты и отправлять их на кошелёк основного компьютера.

Чтобы проверить всё ли вы сделали правильно, зайдите в раздел “Ферма” и в самом низу кликните на “Показать дополнительные опции”. В пункте вашей сети комбайнов будет второй риг и его IP. Теперь можно запускать плоттинг на второй ферме.

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

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

Далее нужно зайти в настройки DHCP-сервера, и привязать ко всем MAC-адресам ваших устройств (которые майнят Chia Coin) IP-адреса, которые роутер присвоил автоматически. Грубо говоря, проверяйте IP через командную строку (командой “ipconfig”) и пропишите вручную все эти IP к их MAC-адресам. Только делайте это до того, как у вас выключат свет, или до того как вы случайно перезагрузите роутеры и компы.

Как правило, большинство роутеров автоматически показывают IP-адреса в этом разделе, когда вы выбираете устройство с MAC-адресом, обязательно сравнивайте все показатели во время редактирования файла конфига для кошелька CHIA.

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

Обязательно отпишите в комментах под статьёй о результатах ваших трудов.

Читайте также:

Если вам понравилась статья про настройку майнинга Chia Coin на нескольких компьютерах (фермах), то не поленитесь вступить в нашу группу ВК, а так же канал в Телеграме или твиттер, чтобы поддержать проект и быть в курсе последних новостей из мира майнинга и криптовалют.

Источник

Оцените статью