+
Skip to content

tbwcjw/nxducominer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nxducominer

A multithreaded DUCO Miner for the Nintendo Switch.

HB App Store Documentation


Setup

  • Unzip [release].zip, copy switch/ to the root of your SD card.
  • Set config.txt, explained below.
  • Launch the miner from HB menu.
Key Type Description
node str
none
The IP address of the node to connect to. Can be found manually here. If left empty the application will use https://server.duinocoin.com/getPool to find one.
port int
none
The port of the node. If this is left blank, the application will find a node using the method above. Regardless if the node is set.
wallet_address str The address/username of your duinocoin wallet.
miner_key str
none
As specified in Wallet > Settings > Miner Key. Leave blank if not applicable.
difficulty str The starting difficulty. The node will automatically negotiate the difficulty. Valid starting difficulties are LOW MEDIUM NET and EXTREME. LOW is recommended for this application. EXTREME is not used anywhere officially. More information on difficulties can be found here.
rig_id str A friendly name for your miner which displays in the wallet.
cpu_boost bool Either true or false.
Using ApmCpuBoostMode with mode ApmCpuBoostMode_FastLoad.
iot bool
Either true or false. Upload IoT data to your wallet (Temperature, Battery charge).
threads int
Number of threads to mine on. Between 1 and 6.
web_dashboard bool
Either true or false. The web dashboard will run on port 8080 of the switch's IP address.

Building

  • Install devkitpro with switch-dev, switch-curl and switch-zlib using the Getting Started guide. For building releases you will need zip.
  • Clone https://github.com/tbwcjw/nxducominer.git.
  • Copy config.sample.txt to config.txt and fill in the fields*.
  • make (all) - build the application and generate a release.
    make build - build the application.
    make release - builds and generate a release.
    make clean - removes build/build data. does not remove releases
  • Use NXLink to send application.nro and fptd to send the config.txt, ensuring it is in the same directory as application.nro.

Roadmap

Short term Mid term Long term
  • Automatically select node.
  • Better error handling.
  • Reconnect to node if connection lost.
  • Handle consoleExit() without error.
  • Prevent switch from auto-sleeping in app.
  • Web dashboard, like the ESP32 miner
  • Multithreading.
  • Pretty GUI.

  • Benchmarking Results

    Device/Version App version CFLAGS CPU Boost Threads Node (address:port) Shares /1hr Avg. Hashrate (estimated) Avg. Difficulty
    HAC-00118.0.1|AMS 1.8.0|E 25.05.13_00.27 N/A (Release) true 3 152.53.38.31:7070 1212 583.24 kH/s 32000

    Benchmarking

    Use benchmark_dirty.py for official benchmarking. Submit results by opening an issue. Benchmarks should at least be one hour long.
    Argument Description
    -d
    --duration
    Duration to run the benchmark. (e.g., 10m, 1h, 30s).
    Default: 1h
    --nx Path to nxlink/nxlink.exe.
    -ip Switch IP.
    --nro Path to application.nro.
    -o
    --output
    Path to benchmark results.
    Default: nxducominer_benchmark.txt
    -og
    --output-graph
    Path to benchmark result graph.
    Default: nxducominer_benchmark_graph.png

    Screenshots


    Application
    Web dashboard


    Credits

    JSON Parser: zserge/jsmn, MIT License.

    Licenses

    This software is licensed under the MIT License.

    About

    A multithreaded DUCO Miner for the Nintendo Switch

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Contributors 2

    •  
    •  
    点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载