https://github.com/tetherto/m-sdk-be
https://github.com/tetherto/m-sdk-be
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tetherto/m-sdk-be
- Owner: tetherto
- Created: 2026-01-25T20:01:55.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-17T10:29:17.000Z (4 months ago)
- Last Synced: 2026-02-17T15:51:46.741Z (4 months ago)
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# MiningSDK
**Open, Modular Infrastructure for Bitcoin Mining at Any Scale**
---
## About MiningSDK
The Bitcoin mining industry has long been constrained by **closed systems, proprietary tooling, and vendor lock-in**. MiningSDK changes that.
MiningSDK introduces **openness, transparency, and modularity** into mining infrastructure. Built on open protocols and a composable architecture, it empowers operators and developers to build, operate, and scale mining operations with full control.
MiningSDK delivers a modern, professional mining software stack with:
- Intuitive operational workflows
- Real-time monitoring and control
- Production-grade scalability
- Full transparency into system behavior
From a **single device** to **gigawatt-scale facilities**, MiningSDK adapts without architectural rewrites.
---
## What is MiningSDK?
MiningSDK is a **JavaScript-based backend SDK** that provides a modular, extensible foundation for:
- Monitoring mining infrastructure
- Controlling devices and containers
- Collecting telemetry and operational data
- Building custom mining applications and integrations
MiningSDK acts as a **common operating layer** for the mining industry.
---
## Core Characteristics
| Capability | Description |
|---------------------------|-----------------------------------------------------------------------------|
| **Portability** | Runs on Windows, macOS, and Linux |
| **Device Agnostic** | Supports miners, containers, sensors, power meters, and more |
| **Real-Time Monitoring** | Sub-minute data collection and alerting |
| **Persistent Storage** | Time-series storage using Hyperbee |
| **Scalable by Design** | From a single miner to thousands of devices |
| **Open Source** | Apache 2.0 licensed — no vendor lock-in |
---
## Core Philosophy
MiningSDK establishes a **lean, stable core** with **unbounded extensibility**.
Instead of shipping a monolithic, closed system, MiningSDK provides:
- A minimal, reliable foundation
- Well-defined extension points
- Modular components that evolve independently
This allows the ecosystem to grow organically while maintaining operational reliability.
---
## Vision
MiningSDK is designed to be the **backbone of an open mining ecosystem**.
By standardizing the foundation of mining software, MiningSDK enables:
- Long-term sustainability of mining infrastructure
- Community-driven innovation
- Decentralized ownership of operational tooling
MiningSDK aligns mining infrastructure with Bitcoin’s core values: **openness, resilience, and decentralization**.
---
## Why MiningSDK?
### The Problem
Today’s mining software ecosystem is:
- **Fragmented** — isolated, non-interoperable systems
- **Opaque** — closed-source tooling with limited visibility
- **Rigid** — difficult to customize or extend
- **Locked-in** — high switching costs and vendor dependence
### The MiningSDK Solution
#### Transparency
- Fully open-source (Apache 2.0)
- Complete visibility into system behavior
- No hidden logic or proprietary control paths
#### Comprehensiveness
- One platform for all mining infrastructure
- Multi-vendor, multi-device support
- Unified monitoring and control model
#### Robustness
- Proven in Tether’s production mining operations
- Distributed architecture with no single point of failure
- Durable, persistent storage for operational data
#### Extensibility
- Modular architecture for new device support
- Plugin-friendly design for custom integrations
- Community-first development model
### Industry Standard
MiningSDK aims to become the **industry standard** for Bitcoin mining operations—similar to how Linux standardized operating systems.
---
## Who is MiningSDK For?
MiningSDK is built for **everyone who mines Bitcoin**.
| User Type | Primary Use Case |
|-----------------------|---------------------------------------------------------------|
| **Home Miners** | Simple monitoring and control for a few devices |
| **Small Operations** | Manage multiple miners across locations |
| **Industrial Sites** | Orchestrate thousands of ASICs with fault tolerance |
| **Developers** | Build custom mining tools and integrations |
| **Service Providers** | Deliver hosted mining management platforms |
---
## What You Can Build
- **Operational dashboards** (hashrate, power, temperature)
- **Pool management tools**
- **Infrastructure control systems** (containers, cooling, power)
- **Analytics and reporting pipelines**
- **Automation and optimization workflows**
---
## Example usage
MiningSDK allows you to register and connect to a mining device with just a few lines of code:
#### Install MiningSDK:
```bash
npm install @tether/mining-sdk
```
#### Start reading miner data using MiningSDK:
```bash
const miningSdk = require("@tether/mining-sdk")
//initialize a library for any miner model (example: Whatsminer m56s)
const wm56 = new miningSdk.WM_M56S()
//register a new miner
const miner = wm56.registerMiner({
ip: "127.0.0.1",
port: 8080,
serialNumber: "WM001"
})
//connect to actual device
await miner.connectToDevice()
//read miner stats
const stats = await miner.getStats()
```
---
## Deployment Modes
MiningSDK introduces a **flexible deployment model** that allows application to run as:
- A **single embedded process** (ideal for small sites and development)
- A **set of independent microservices** (ideal for large-scale production)
This is achieved by **decoupling device logic from runtime and deployment concerns**.
| Deployment Mode | Target Users | Benefits |
|------------------------|-----------------|-----------------------------------------------|
| **Single Process** | Small sites | Minimal setup, low resource overhead |
| **PM2 Microservices** | Medium sites | Process isolation, controlled scaling |
| **Docker / Kubernetes**| Large sites | Enterprise orchestration, fault tolerance |
---
## Key Capabilities
- **Single Install, Unified API** for small deployments
- **Microservice Compatibility** for large-scale operations
- **Deployment Flexibility** via PM2, Docker, or Kubernetes
---
## Business Impact
- Faster onboarding and reduced time-to-deploy
- Lower operational and support costs
- Preservation of existing production workflows
- Seamless growth from small to large deployments
- Reduced architectural risk over time
---
## Strategic Value
- One architecture for all customer sizes
- Lower total cost of ownership (TCO)
- Strong developer adoption and ecosystem growth
- Future-proof foundation for new device types and services
---
## Summary
**MiningSDK** is a single, unified backend SDK that combines:
- Open-source transparency
- Modular architecture
- Flexible deployment models
- Production-grade scalability
It enables Bitcoin mining operations to start small, scale smoothly, and remain in full control — without lock-in, rewrites, or hidden complexity.