BitMaker-hub/NerdMiner_v2

GitHub: BitMaker-hub/NerdMiner_v2

一个在 ESP32 等微型开发板上实现比特币 Solo 挖矿的开源项目,旨在帮助用户以低成本硬件学习并体验挖矿原理。

Stars: 2740 | Forks: 614

# NerdSoloMiner **NerdSoloMiner v2** 这是一个**免费且开源的项目**,让你可以尝试用一个小型硬件来挖掘比特币区块。 本项目的主要目的是让你**了解更多关于挖矿的知识**,并在你的桌面上拥有一个漂亮的硬件摆件。 原项目 https://github.com/valerio-vaccaro/HAN ![image](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad19ef14d54409e694c35af958f12bab1a75d274cfaf2e27db647ea218e55f8d.png) ## 要求 - TTGO T-Display S3 或任何受支持的开发板(查看构建教程👇) - 3D 外壳,请点击[这里](3d_files/) ### 项目描述 **实现 Stratum 协议的 ESP32**,用于在 solo 矿池中挖矿。矿池可以更改,但最初是与 [public-pool.io](https://web.public-pool.io)(支持 NerdMiner 的矿池)配合使用的。 - NerdMiner 屏幕 > NerdMiner 的挖矿数据 - ClockMiner 屏幕 > 时尚风格的矿工时钟 - GlobalStats 屏幕 > 全局挖矿统计及相关数据 **重要提示** 由于其共享难度较低,该矿工无法被所有标准矿池识别。你可以通过下文列出的特定矿池远程查看矿工运行状态,或者通过 UART 查看日志。 **_当前项目仍在开发中,后续将添加更多功能_** ## 构建教程 ### 硬件要求 - LILYGO T-Display S3(原版)或任何其他受支持的开发板 - 3D 外壳,请点击[这里](3d_files/) #### 目前支持的开发板 - LILYGO T-Display S3([速卖通链接*](https://s.click.aliexpress.com/e/_Ddy7739)) - ESP32-WROOM-32, ESP32-Devkit1..([速卖通链接*](https://s.click.aliexpress.com/e/_DCzlUiX)) - LILYGO T-QT pro([速卖通链接*](https://s.click.aliexpress.com/e/_DBQIr43)) - LILYGO T-Display 1.14([速卖通链接*](https://s.click.aliexpress.com/e/_DEqGvSJ)) - LILYGO T-Display S3 AMOLED([速卖通链接*](https://s.click.aliexpress.com/e/_DmOIK6j)) - LILYGO T-Display S3 AMOLED Touch([开发板信息](https://www.lilygo.cc/products/t-display-s3-amoled?variant=43532279939253)) - LILYGO T-Dongle S3([速卖通链接*](https://s.click.aliexpress.com/e/_DmQCPyj)) - ESP32-2432S028R 2.8"([速卖通链接*](https://s.click.aliexpress.com/e/_DdXkvLv) / 开发支持:@nitroxgas / ⚡jadeddonald78@walletofsatoshi.com) - ESP32-cam([开发板信息](https://lastminuteengineers.com/getting-started-with-esp32-cam/) / 开发支持:@elmo128) - M5-StampS3([速卖通链接*](https://s.click.aliexpress.com/e/_DevABY3) / 开发支持:@gyengus) - Wemos Lolin S3 Mini([开发板信息](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s3_mini.html)) - Wemos Lolin S2 Mini([开发板信息](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html)) - Weact S3 Mini([开发板信息](https://github.com/WeActStudio/WeActStudio.ESP32S3-MINI)) - Weact ESP32-D0WD-V3([开发板信息](https://github.com/WeActStudio/WeActStudio.ESP32CoreBoard)) - ESP32-S3 Devkit([开发板信息](https://docs.platformio.org/en/latest/boards/espressif32/esp32-s3-devkitm-1.html)) - ESP32-C3 Devkit([开发板信息](https://docs.platformio.org/en/latest/boards/espressif32/esp32-c3-devkitm-1.html)) - ESP32-C3 Super Mini([开发板信息](https://docs.platformio.org/en/latest/boards/espressif32/seeed_xiao_esp32c3.html)) - Waveshare ESP32-S3-GEEK([开发板信息](https://www.waveshare.com/wiki/ESP32-S3-GEEK)) - LILYGO T-HMI([速卖通链接*](https://s.click.aliexpress.com/e/_oFII4s2) / 开发支持:@cosmicpsyop) - ESP32-C3 0.42 英寸 OLED([速卖通链接*](https://s.click.aliexpress.com/e/_oDmT4Id) / 开发支持:@mrthiti / ⚡ wallet@thiti.dev) - ESP32-S3 0.42 英寸 OLED([速卖通链接*](https://s.click.aliexpress.com/e/_oFIMUoh) / 开发支持:@mrthiti / ⚡ wallet@thiti.dev) \*附属链接 ### 烧录固件 #### microMiners 烧录工具 [推荐] 最简单的固件烧录方式。使用以下固件烧录工具制作你自己的矿机: 1. 准备一个 TTGO T-display S3 或任何其他受支持的开发板 2. 访问在线 NM2 烧录工具:https://flasher.bitronics.store/ (建议使用 Google Chrome 无痕模式) #### 标准工具 使用在线固件烧录工具 **ESPtool** 以及你在 `bin` 文件夹中找到的**二进制文件**之一,来制作你自己的矿机。 如果你愿意,你也可以使用 Arduino、PlatformIO 或 Expressif IDF 编译整个项目。 1. 准备一个 TTGO T-display S3 或任何受支持的开发板 2. 下载本仓库 3. 访问在线 ESPtool:https://espressif.github.io/esptool-js/ 4. 使用与你的开发板对应的 `bin` 子文件夹中的二进制文件加载固件。 5. 插入你的开发板,并从子文件夹中选择每个文件(`.bin` 文件)。 ### 更新固件 按照相同的烧录步骤更新 NerdMiner 固件,但只需使用 0x10000_firmware.bin 文件。 #### 构建故障排除 1. 在线 [ESP Tool](https://espressif.github.io/esptool-js/) 兼容 chrome、chromium 和 brave 浏览器 2. ESPtool 建议:使用 115200bps 3. 构建错误 > 如果在下载固件期间上传停止,建议让开发板进入 boot 模式。拔下数据线,按住右下角的按钮,然后重新插上数据线。再次尝试烧录。 4. 在极端情况下,你可以使用 ESPtool 上的“Erase all flash”(擦除所有闪存)功能,在上传固件之前清除当前的所有配置。曾有案例表明,如果不执行此操作,会出现 WiFi 故障。 5. 对于 ESP32-WROOM 开发板,可能需要让你的开发板进入 boot 模式。按住 boot 键,按下 reset 键,然后再进行烧录。 ## NerdMiner 配置 烧录完成后,你只需要设置你的 WiFi 和 BTC 地址。 注意:如果未提供你所选钱包的 BTC 地址,挖矿将不会启动。 #### WiFi 热点 1. 连接至 NerdMinerAP - AP: NerdMinerAP - 密码: MineYourCoins 2. 设置你的 WiFi 网络 3. 添加你的 BTC 地址 4. 如有需要,更改密码 - 如果你使用的是 public-pool.io,并且想为你的矿工设置自定义名称,你可以在地址后附加一个格式为 _.yourworkername_ 的字符串 #### SD 卡(如果可用) 1. 使用 Fat32 格式化一张 SD 卡。 2. 在卡的根目录下创建一个名为“config.json”的文件,包含以下结构。请根据你的需求调整设置: ``` { "SSID": "myWifiSSID", "WifiPW": "myWifiPassword", "PoolUrl": "public-pool.io", "PoolPort": 3333, "PoolPassword": "x", "BtcWallet": "walletID", "Timezone": 2, "SaveStats": false } ``` 1. 插入 SD 卡。 2. 如下所述按住“重置配置”按钮,以重置配置和/或在 nvmemory 中没有设置的情况下启动。 3. 断电并拔出 SD 卡。挖矿时不需要它。 #### 矿池选择 推荐的低难度份额矿池: | 矿池 URL | 端口 | 网站 URL | 状态 | | ----------------- | ----- | -------------------------- | ------------------------------------------------------------------ | | public-pool.io | 3333 | https://web.public-pool.io | 开源 Solo 比特币挖矿矿池,支持开源矿工 | | pool.nerdminers.org | 3333 | https://nerdminers.org | 官方 Nerdminer 矿池网站 - 由 @golden-guy 维护 | | pool.nerdminer.io | 3333 | https://nerdminer.io | 由 CHMEX 维护 | | pool.pyblock.xyz | 3333 | https://pool.pyblock.xyz/ | 由 curly60e 维护 | | pool.sethforprivacy.com | 3333 | https://pool.sethforprivacy.com/ | 由 @sethforprivacy 维护 - public-pool 分支 | | pool.stompi.de | 3333 | http://web.stompi.de | 由 @odinstar 维护 - public-pool 分支 | |pool.solomining.de| 3333 | https://pool.solomining.de/ | 由 https://x.com/solo_mining 维护 | 其他不兼容低难度份额的标准矿池: | 矿池 URL | 端口 | 网站 URL | | ------------------------ | ---- | ----------------------------------------- | | solo.ckpool.org | 3333 | https://solo.ckpool.org/ | | btc.zsolo.bid | 6057 | https://zsolo.bid/en/btc-solo-mining-pool | | eu.stratum.slushpool.com | 3333 | https://braiins.com/pool | ### 按钮 #### 单按钮设备: - 单击 > 切换屏幕。 - 双击 > 切换屏幕方向。 - 三击 > 关闭屏幕然后再打开。 - 长按 5 秒 > **重置配置并重启**你的 NerdMiner。 #### 双按钮设备: 在 USB-C 接口朝右的情况下: **顶部按钮** - 单击 > 切换屏幕。 - 长按 5 秒 > **重置配置并重启**你的 NerdMiner。 - 长按并通电 > 进入**配置模式**并通过 WiFi 编辑当前配置。你可以更改或验证你的设置。 **底部按钮** - 单击 > 关闭屏幕然后再打开 - 双击 > 更改方向(默认为 USB-C 接口朝右) #### 构建视频 [![Ver video aquí](https://img.youtube.com/vi/POUT2R_opDs/0.jpg)](https://youtu.be/POUT2R_opDs) ## 开发者 ### 项目指南 - 当前项目已适配可在 PlatformIO 下运行 - 当前项目兼容 ESP32-S3 和 ESP32-wroom。 - 分区表方案应构建为 Huge App(巨型应用) - 所需的所有库均已在 platform.ini 中列出 ### 已完成工作 - [x] 将项目迁移至 platformIO - [x] 修复份额达到 100 万时屏幕出现矩形的 Bug - [x] 修复内存泄漏 Bug - [x] 修复接收到的 JSON 包含某些 null 值时重启的 Bug - [x] 实现 midstate sha256 - [x] 修复 Wifi.h 中 Wificlient DNS 无法解析的 Bug - [x] 代码重构 - [x] 在屏幕上添加区块高度(blockHeight) - [x] 添加显示当前时间的时钟 - [x] 添加包含全局挖矿统计信息的新屏幕 - [x] 为低难度矿工添加矿池支持 - [x] 在矿工屏幕上添加最佳难度(best difficulty) - [x] 增加对标准 ESP32 dev-kit / ESP32-WROOM 的支持 - [x] 修改代码以支持添加多种开发板 - [x] 增加对 TTGO T-display 1.14 的支持 - [x] 增加对 Amoled 的支持 ### 进行中
标签:Homebrew安装, UML, 客户端加密