Skip to content

Solo Mining

Mine Soqucoin blocks directly. All rewards go to your wallet. Zero pool fees, zero trust.

Overview

The SOQ Solo Miner is a lightweight stratum proxy that sits between your mining hardware and your Soqucoin node. When your miner finds a block, the full 500,000 SOQ reward goes directly to your address.

graph LR
    A[ASIC/GPU Miner] -->|Stratum| B[SOQ Solo Miner]
    B -->|RPC| C[soqucoind Node]
    C -->|Block Found| D[🎉 500K SOQ → Your Wallet]

When to Solo Mine

Solo mining is best when you have significant hashrate. With lower hashrate, you'll find blocks less frequently but each block pays the full reward. For steadier income with lower hashrate, consider pool mining instead.

Prerequisites

Before you start, you need:

  1. A running Soqucoin node — Install & Run Guide
  2. A Soqucoin wallet address — for receiving block rewards
  3. Mining hardware — ASIC or GPU with Scrypt support
  4. SOQ Solo Miner binary — download below

Download

Download the solo miner for your platform from the latest release:

Platform File
Linux x64 soq-solo-miner-linux-x64-*.tar.gz
Linux ARM64 soq-solo-miner-linux-arm64-*.tar.gz
macOS Intel soq-solo-miner-macos-x64-*.tar.gz
macOS Apple Silicon soq-solo-miner-macos-arm64-*.tar.gz
Windows x64 soq-solo-miner-windows-x64-*.zip

Quick Start

Step 1: Start Your Node

Your node must be running with RPC and ZMQ enabled:

soqucoind -daemon -server \
  -rpcuser=soqucoin \
  -rpcpassword=YOUR_SECURE_PASSWORD \
  -zmqpubhashblock=tcp://127.0.0.1:28332

Wait for Sync

Your node must be fully synced before mining. Check with:

soqucoin-cli getblockchaininfo
The blocks count should match the network height visible on SOQ-TEC.

Step 2: Configure the Solo Miner

Extract the download and copy the example config:

tar xzf soq-solo-miner-*.tar.gz
cp config.example.json config.json
nano config.json
# Extract the zip, then edit config.example.json
Rename-Item config.example.json config.json
notepad config.json

Edit config.json with your settings:

{
  "port": 3333,
  "pool_difficulty": 1024,
  "rpc_url": "http://127.0.0.1:44555",
  "rpc_user": "soqucoin",
  "rpc_password": "YOUR_SECURE_PASSWORD",
  "reward_to": "YOUR_SOQUCOIN_ADDRESS",
  "block_notify_url": "tcp://127.0.0.1:28332",
  "worker_name": "solo"
}
Setting Description
port Stratum port your miners connect to (default: 3333)
pool_difficulty Share difficulty (adjust based on your hashrate)
rpc_url Your node's RPC endpoint
rpc_user / rpc_password Must match your soqucoin.conf
reward_to Your wallet address where block rewards go
block_notify_url ZMQ endpoint (must match -zmqpubhashblock)
worker_name Identifier for your rig on the network

Step 3: Run the Solo Miner

./soq-solo-miner config.json
.\soq-solo-miner.exe config.json

You should see:

SOQ Solo Miner v1.0.0
Stratum server listening on :3333
Connected to soqucoind RPC at http://127.0.0.1:44555
Waiting for miners...

Step 4: Connect Your Mining Hardware

Point your ASIC or GPU miner to:

stratum+tcp://YOUR_IP:3333
  • Worker name: YOUR_ADDRESS.rigname (e.g., ssq1abc...xyz.rig01)
  • Password: anything (ignored)

Example: Goldshell Mini-DOGE

Pool URL: stratum+tcp://192.168.1.100:3333
Worker: ssq1qxyz...abc.goldshell01
Password: x

Difficulty Tuning

The pool_difficulty setting controls how often your miner submits shares:

Hashrate Recommended Difficulty
< 100 MH/s 256
100 MH/s – 1 GH/s 1024
1 GH/s – 10 GH/s 4096
> 10 GH/s 8192+

Note

Higher difficulty = fewer share submissions = less network traffic. Too low = your miner floods the proxy with shares. Start with the recommendation and adjust if you see excessive share rates.

Running as a Service

For 24/7 operation, set up the solo miner as a system service:

Create /etc/systemd/system/soq-solo-miner.service:

[Unit]
Description=SOQ Solo Miner
After=network.target soqucoind.service

[Service]
Type=simple
User=soqucoin
WorkingDirectory=/opt/soq-solo-miner
ExecStart=/opt/soq-solo-miner/soq-solo-miner /opt/soq-solo-miner/config.json
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl enable soq-solo-miner
sudo systemctl start soq-solo-miner
sudo journalctl -u soq-solo-miner -f  # View logs

Create ~/Library/LaunchAgents/org.soqucoin.solo-miner.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>org.soqucoin.solo-miner</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/soq-solo-miner</string>
    <string>/usr/local/etc/soq-solo-miner/config.json</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
</dict>
</plist>

Troubleshooting

"Connection refused" to RPC

Your node isn't running or RPC isn't enabled. Check:

soqucoin-cli getblockchaininfo

If this fails, ensure soqucoind is running with -server and correct RPC credentials.

No shares being submitted

  1. Verify your miner is connected: check the solo miner console output
  2. Check the stratum URL is correct: stratum+tcp://IP:3333 (not http://)
  3. Ensure your firewall allows port 3333

Block found but no reward

  1. Verify reward_to is a valid Soqucoin address
  2. Check the block was accepted: soqucoin-cli getblockcount
  3. Rewards require 100 confirmations before they're spendable

Architecture

The solo miner is a single Go binary with zero external dependencies:

  • Stratum Server: Accepts connections from mining hardware
  • RPC Client: Communicates with your soqucoind node via JSON-RPC
  • ZMQ Listener: Receives instant block notifications for fast template updates
  • Block Assembly: Constructs block templates with your reward address in the coinbase

No database, no pool infrastructure, no network dependencies beyond your own node.

See Also