BitMaker-hub / NerdMiner_v2 |
![]() |
Добавил(а) microsin | ||||||||||||||||||||||||||||||||||||||||
NerdSoloMiner v2 это бесплатный и открытый проект майнера [1], который пытается вычислить блок bitcoin на простейшем оборудовании. Основная цель проекта - освоить технологию криптовалюты и заодно получить красивое устройство, которое что-то там делает на столе. Оригинальная версия проекта также доступна на GitHub [2]. Требования для повторения проекта: - TTGO T-Display S3, или любая из поддерживаемых плат (см. далее "Руководство по сборке"). [Описание NerdSoloMiner v2] ESP32 реализует протокол Stratum для майнинга в индивидуальном пуле (solo pool). Пул может быть изменен, однако он работает с public-pool.io (где поддерживаются устройства Nerdminer). Изначально проект был реализован на основе ESP32-S3, однако теперь поддерживаются и другие платы. Используется WifiManager для изменения настроек майнера и сохранение их в SPIFF. Устройство microMiner поставляется с несколькими экранами, чтобы можно было отслеживать его рабочий процесс, а также сетевой статус майнинга: NerdMiner Screen -> Mining data of Nerdminer (данные майнинга) Этот майнер использует несколько ядер (multicore) и несколько потоков (multithreads), оба ядра используются для майнинга, и несколько потоков используются для реализации работы стратума (stratum work) и поддержки доступа по wifi. Каждый раз при получении уведомления о задании стратума майнер обновляет свою текущую работу, чтобы не создавать устаревшие общие ресурсы. Важное замечание: майнер не видят все стандартные пулы из за того, что у него ограниченная по сложности реализация общих ресурсов (low share difficulty). Вы можете проверять работу майнера удаленно с помощью перечисленных ниже определенных пулов, либо просматривая логи через UART. Текущий проект все еще находится в стадии разработки, и в него будут со временем добавлены новые функции. [Руководство по сборке] В настоящее время поддерживаются платы: LILYGO T-Display S3 (продаются на AliExpress) microMiners Flashtool (рекомендуемая утилита). Самый простой способ создать свой майнер и прошить в его память FLASH код firmware: 1. Заполучите платку TTGO T-display S3 или другое поддерживаемое устройство. Стандартный инструментарий. Также можно использовать онлайн прошивальщик (online firwmare flash tool ESPtool) и один из двоичных образов из папки bin. Если вы захотите, то можете скомпилировать весь проект, используя среду разработки Arduino, PlatformIO или Expressif IDF. 1. Заполучите платку TTGO T-display S3 или другое поддерживаемое устройство. Обновление NerdMiner firmware производится аналогично описанной выше прошивке, однако используется файл 0x10000_firmware.bin. 1. Online ESP Tool работает в браузерах chrome, chromium, brave. 2. Для ESPtool рекомендуется использовать скорость 115200 bps. 3. Если во время прошивки firmware процесс останавливается, рекомендуется ввести плату в режим загрузчика (boot mode). Отключите кабель, нажмите и удерживайте правую нижнюю кнопку (BOOT), и снова подключите кабель. Заново запустите процесс прошивки. 4. В определенных экстремальных случаях может помочь полная очистка памяти "Erase all flash" в ESPtool, чтобы очистить текущую конфигурацию перед прошивкой firmware. Это потребовалось во время разработки, когда проводилось экспериментирование с фичами Wifi. 5. Если используются платы ESP32-WROOM, то может потребоваться перевести плату в режим загрузки (boot mode). Для этого удерживайте кнопку BOOT, и нажмите кнопку сброса RST, после чего запустите процесс программирования. [Конфигурирование NerdMiner] После того, как вы запрограммировали устройство, вам понадобится только лишь задать настройки WiFi и адрес BTC. Майнинг не начнется, пока не будет предоставлен BTC address вашего выбранного кошелька (wallet). Конфигурирование через WiFi 1. Имя (SSID) точки доступа: NerdMinerAP, пароль: MineYourCoins. 2. Настройте свою сеть (Wifi Network). 3. Добавьте ваш BTC address. 4. При необходимости поменяйте пароль. Если вы используете public-pool.io, и хотите установить пользовательское имя для своего worker, то можете к адресу добавить строку суффикса в формате .yourworkername к адресу. Конфигурирование через карту SD (когда она есть) 1. Отформатируйте SD-карту в файловой системе Fat32. 2. Создайте в коне карты текстовый файл config.json, где содержится следующая структура. Поменяйте в ней необходимые настройки: { "SSID": "myWifiSSID", "WifiPW": "myWifiPassword", "PoolUrl": "public-pool.io", "PoolPort": 21496, "PoolPassword": "x", "BtcWallet": "walletID", "Timezone": 2, "SaveStats": false 3. Установите SD-карту в слот платы. 4. Нажмите и удерживайте кнопку "reset configurations", как описано ниже, чтобы сбросилась конфигурация, и/или произошла загрузка без настроек из nvmemory платы. 5. Выключите питание и извлеките SD-карту. Для майнинга она не нужна. Выбор пула для майнинга. Рекомендуется использовать следующие пулы (low difficulty share pools):
Другие стандартные пулы, не совместимые с low difficulty share:
[Кнопки управления] Устройства, где есть только одна кнопка 1. Одиночный клик поменяет экран. Устройства с двумя кнопками (когда порт USB-C находится справа) Верхняя кнопка: 1. Одиночный клик поменяет экран. Нижняя кнопка: 1. Одиночный клик выключает и включает экран. Видео по сборке: Указания по разработке • Текущий проект был адаптирован для работы с PlatformIO. Что уже сделано: • Проект перенесен на platformIO. В разработке: • Реализовать протокол daisy chain через UART или I2C для поддержки хеш-плат ESP32 (hashboard). Если вы хотите поучаствовать в проекте или намерены поддержать команду разработчиков, обращайтесь по адресу ⚡teamnerdminer@getalby.com⚡ или по одной из связанных ссылок. Если вы захотите купить готовый, полностью собранный Nerdminer, то можете это сделать на bitronics.store. [Ссылки] 1. BitMaker-hub / NerdMiner_v2 site:github.com. |