MiningOS Logo
Install MiningOSMiners

Whatsminer

Whatsminer worker supports MicroBT Whatsminer models M30SP, M30SPP, M53S, M56S, and M63.

Install the Whatsminer Worker

1. Clone the Repository

Use the same working directory for all the workers.

Inside your working directory, run the following command to clone the (miningos-wrk-miner-whatsminer) repository:

git clone https://github.com/tetherto/miningos-wrk-miner-whatsminer.git

After cloning the repository, move into its directory:

cd miningos-wrk-miner-whatsminer

2. Install Dependencies

Inside the miningos-wrk-miner-whatsminer directory, run the following command to install dependencies using npm:

npm ci

3. Generate Configuration Files

Next, run the following script to scan the config/ directory, copy each .example file into an active configuration file by removing the .example suffix.

sh setup-config.sh

4. Configure the Worker

After generating the configuration files, edit the files in the config/ directory to match your environment:

  • common.json - Worker-wide settings including worker identity
  • base.thing.json - Device-specific configuration for your Whatsminer devices
  • facs/net.config.json - Network and RPC connection settings
  • facs/store.config.json - Hyperbee persistent storage configuration

Ensure your miner IP addresses are correctly configured and accessible from the worker machine.

5. Enable Debugging and Start the Workers

You can now start the workers by running the following commands:

# M30SP
DEBUG="miningos:*" pm2 -s start worker.js --name 'm30sp-1' -- --wtype wrk-miner-rack-m30sp --env development --rack rack-1

# M30SPP
DEBUG="miningos:*" pm2 -s start worker.js --name 'm30spp-2' -- --wtype wrk-miner-rack-m30spp --env development --rack rack-2

# M53S
DEBUG="miningos:*" pm2 -s start worker.js --name 'm53s-3' -- --wtype wrk-miner-rack-m53s --env development --rack rack-3

# M56S
DEBUG="miningos:*" pm2 -s start worker.js --name 'm56s-4' -- --wtype wrk-miner-rack-m56s --env development --rack rack-4

# M63
DEBUG="miningos:*" pm2 -s start worker.js --name 'm63-5' -- --wtype wrk-miner-rack-m63 --env development --rack rack-5

6. Start Mock Servers (Development Only)

For development and testing without physical miners, use mock servers to simulate Whatsminer devices:

# M30SP mock
DEBUG="miningos:*" pm2 -s start mock/server.js --name 'mock-m30sp-1' -- --type m30sp --env development --port 4006

# M30SPP mock
DEBUG="miningos:*" pm2 -s start mock/server.js --name 'mock-m30spp-2' -- --type m30spp --env development --port 4007

# M53S mock
DEBUG="miningos:*" pm2 -s start mock/server.js --name 'mock-m53s-3' -- --type m53s --env development --port 4008

# M56S mock
DEBUG="miningos:*" pm2 -s start mock/server.js --name 'mock-m56s-4' -- --type m56s --env development --port 4009

# M63 mock
DEBUG="miningos:*" pm2 -s start mock/server.js --name 'mock-m63-5' -- --type m63 --env development --port 4010

Mock servers are useful for testing the worker without connecting to actual mining hardware.

On this page