Convert documentation to MkDocs with Material theme for GitHub Pages hosting. Includes comprehensive guides for API, CLI, desktop app, and development. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.6 KiB
Web Dashboard User Guide
The Mining Platform web dashboard provides a visual interface for monitoring and managing your mining operations.
Overview
The web dashboard is an Angular-based web component that can be:
- Accessed via the built-in server
- Embedded in any web application
- Used standalone in a browser
Accessing the Dashboard
Via Built-in Server
Start the Mining Platform server:
miner-ctrl serve --port 9090
Then open your browser to:
http://localhost:9090
Embedding in Your Application
The dashboard is available as a standalone web component:
<!DOCTYPE html>
<html>
<head>
<title>Mining Dashboard</title>
<script type="module" src="./mbe-mining-dashboard.js"></script>
</head>
<body>
<snider-mining api-base-url="http://localhost:9090/api/v1/mining"></snider-mining>
</body>
</html>
Component Properties
The web component accepts these attributes:
api-base-url: Base URL for the API (required)theme: UI theme (lightordark)auto-refresh: Auto-refresh interval in seconds (default: 10)locale: Locale for number formatting (default:en-US)
Example with all properties:
<snider-mining
api-base-url="http://localhost:9090/api/v1/mining"
theme="dark"
auto-refresh="5"
locale="en-US">
</snider-mining>
Dashboard Features
Home Page
The home page displays an overview of your mining operations:
- Active Miners: Number of currently running miners
- Total Hashrate: Combined hashrate across all miners
- Total Shares: Accepted and rejected shares
- System Resources: CPU and GPU usage
Miners Page
View and manage all your miners:
-
Running Miners: List of active mining operations
- Real-time hashrate
- Pool connection status
- Accepted/rejected shares
- Uptime
- Quick stop button
-
Available Miners: Software you can install
- Installation status
- Version information
- Quick install button
Profiles Page
Manage your mining configurations:
-
Saved Profiles: Reusable mining configurations
- Create, edit, and delete profiles
- One-click start from profile
- Import/export profiles
-
Profile Editor: Configure mining parameters
- Pool selection
- Wallet address
- Algorithm selection
- CPU/GPU settings
- Advanced options
Setup Wizard
A guided setup process for beginners:
- Select Coin: Choose which cryptocurrency to mine
- Choose Pool: Select from recommended pools
- Enter Wallet: Input your wallet address
- Configure Hardware: Select CPU or GPU mining
- Review & Start: Confirm settings and start mining
Admin Page
Advanced configuration and system management:
-
System Information
- Operating system
- Go version
- Total RAM
- Detected GPUs (OpenCL/CUDA)
-
Miner Management
- Install/uninstall miners
- Update miners
- View logs
- Run diagnostics
-
Settings
- Auto-start configuration
- Notification preferences
- API endpoint configuration
- Theme selection
Statistics Dashboard
Detailed performance metrics:
-
Hashrate Charts
- Real-time hashrate graph
- Historical data (5 min high-res, 24h low-res)
- Per-miner breakdown
-
Shares Analysis
- Accepted vs rejected shares
- Share submission rate
- Pool response time
-
Earnings Estimates
- Estimated daily earnings
- Estimated monthly earnings
- Based on current hashrate and coin difficulty
Mobile Interface
The dashboard is fully responsive and optimized for mobile devices:
- Drawer Navigation: Swipe from left edge to open menu
- Touch-Optimized: Large buttons and touch targets
- Adaptive Layout: Single-column layout on small screens
- Pull to Refresh: Pull down on any page to refresh data
Mobile Navigation
On mobile devices (screens < 768px):
- Tap the hamburger menu (☰) to open navigation
- Swipe left to close the drawer
- Tap outside the drawer to close it
Using the Dashboard
Starting a Miner
- Go to Miners page
- Click Add Miner or select a profile
- Fill in the configuration:
- Pool URL
- Wallet address
- Algorithm
- Number of threads (CPU) or devices (GPU)
- Click Start Mining
Monitoring Performance
- Go to Statistics page
- Select the miner from the dropdown
- View real-time charts:
- Hashrate over time
- Share acceptance rate
- Temperature (if supported)
Creating a Profile
- Go to Profiles page
- Click New Profile
- Enter profile details:
- Name (e.g., "XMR - SupportXMR")
- Miner type (xmrig, etc.)
- Pool configuration
- Click Save
To use the profile:
- Click Start on the profile card
- The miner will start with the saved configuration
Stopping a Miner
- Go to Miners page
- Find the running miner
- Click the Stop button
- Confirm if prompted
Keyboard Shortcuts
The dashboard supports keyboard shortcuts for common actions:
Ctrl+N: New miner/profileCtrl+S: Save current formCtrl+R: Refresh dataEsc: Close modal/drawer?: Show keyboard shortcuts help
Theme Customization
Switch between light and dark themes:
- Go to Settings (Admin page)
- Select Theme
- Choose Light or Dark
- Theme is saved to localStorage
Or set via HTML attribute:
<snider-mining theme="dark"></snider-mining>
Auto-Refresh
The dashboard automatically refreshes data every 10 seconds by default.
To customize:
<snider-mining auto-refresh="5"></snider-mining>
To disable auto-refresh:
<snider-mining auto-refresh="0"></snider-mining>
Notifications
The dashboard can display browser notifications for important events:
- Miner started
- Miner stopped
- Miner crashed
- Low hashrate warning
- Share rejection spike
Enable notifications:
- Go to Settings
- Enable Desktop Notifications
- Grant permission when prompted by browser
Exporting Data
Export your profiles or statistics:
Export Profiles
- Go to Profiles page
- Click Export
- Choose format (JSON or CSV)
- Save file
Import Profiles
- Go to Profiles page
- Click Import
- Select your exported file
- Profiles will be added to your list
Export Statistics
- Go to Statistics page
- Select date range
- Click Export
- Choose format (CSV or JSON)
- Save file
Troubleshooting
Dashboard Won't Load
Check that the server is running:
curl http://localhost:9090/api/v1/mining/info
If no response, start the server:
miner-ctrl serve --port 9090
"Connection Refused" Error
Ensure the api-base-url matches your server:
<snider-mining api-base-url="http://localhost:9090/api/v1/mining"></snider-mining>
Data Not Updating
- Check auto-refresh is enabled
- Verify API endpoint is reachable
- Check browser console for errors (F12)
- Try manual refresh (Ctrl+R)
Profile Won't Start
- Verify miner software is installed
- Check wallet address is valid
- Test pool connectivity
- Review error message in notification
Charts Not Showing
- Ensure miner has been running for at least 1 minute
- Check that statistics are being collected
- Verify browser supports Canvas/SVG
- Try clearing browser cache
Performance Tips
Reduce CPU Usage
If the dashboard is using too much CPU:
-
Increase auto-refresh interval:
<snider-mining auto-refresh="30"></snider-mining> -
Disable charts on Statistics page when not needed
-
Close unnecessary browser tabs
Optimize for Low-End Devices
For Raspberry Pi or low-power devices:
- Use light theme (uses less GPU)
- Set auto-refresh to 60 seconds
- Limit number of active miners shown
- Disable desktop notifications
Advanced Usage
Custom Styling
Override dashboard styles with CSS:
<style>
snider-mining {
--primary-color: #00ff00;
--background-color: #1a1a1a;
--text-color: #ffffff;
}
</style>
JavaScript API
Interact with the component via JavaScript:
const dashboard = document.querySelector('snider-mining');
// Listen for events
dashboard.addEventListener('miner-started', (e) => {
console.log('Miner started:', e.detail);
});
dashboard.addEventListener('miner-stopped', (e) => {
console.log('Miner stopped:', e.detail);
});
// Programmatic control
dashboard.startMiner({
type: 'xmrig',
config: { /* ... */ }
});
dashboard.stopMiner('xmrig');
Next Steps
- Try the Desktop Application for a native experience
- Learn about Pool Selection
- Explore the REST API for automation
- Read the Development Guide to contribute