Skip to main content

Mining

Snider Labs
Go Crypto Angular Wails Module

A reference implementation showing how Core modules work in practice. The miner-ctrl CLI manages a hardened XMRig and XMRig-proxy (96+ security fixes and counting). Comes with a custom HTML element and Gin API so you can control everything from a GUI or command line.

Features

miner-ctrl

Go CLI for GUI/CLI management - controls both miner core and proxy components

miner/core (Hardened XMRig)

96+ security bugs fixed, all popular algorithms - ongoing hardening work

miner/proxy (Hardened XMRig-proxy)

Hardened stratum proxy for pool aggregation and failover

Module Pattern Reference

Single custom element + Gin routes = loadable Core module template

All Popular Algorithms

RandomX, KawPow, ETChash, ProgPowZ, Blake3, CryptoNight, GhostRider, and more

Two-Tier Hashrate Storage

High-resolution (10s, 5min) and low-resolution (1min, 24h) metrics

Installation

# Docker deployment
docker run -p 9090:9090 snider/mining

# Go installation
go install github.com/Snider/Mining@latest
mining-server --host 0.0.0.0 --port 9090

Usage

Repository Structure

Mining/
├── miner-ctrl/          ← Go CLI (GUI/CLI management)
├── miner/
│   ├── core/            ← Hardened XMRig (96+ fixes)
│   └── proxy/           ← Hardened XMRig-proxy
└── ui/
    └── mbe-mining-dashboard.js  ← Angular custom element

miner-ctrl CLI

# Start miner with profile
miner-ctrl start --profile monero-cpu

# Control proxy
miner-ctrl proxy start --port 3333

# Stats
miner-ctrl stats

Core Module Mode

// Load Mining as Core module
core.WithModule(mining.Module)

// Routes available at /api/v1/mining/*
// Element renders: <mbe-mining-dashboard></mbe-mining-dashboard>

Web Component

<mbe-mining-dashboard api="http://localhost:9090">
</mbe-mining-dashboard>

Packages

pkg/node

View

Subpackage description pending...

pkg/ueps

View

Subpackage description pending...

More from Snider Labs

View all projects →

Fancy helping out?

Spotted a bug? Got an idea? We'd love to hear from you.

Read the contributing guide →