High-Performance Multi-Algorithm CPU Miner with Web Dashboard
A high-performance CPU miner supporting SHA3x (Tari) and experimental SHA256d (Bitcoin) mining with advanced features including DNS resolution, real-time web dashboard, and experimental Stratum V2 support.
- SHA3x Mining: Full support for Tari blockchain mining
- DNS Resolution: Connect using pool domains (e.g.,
pool.sha3x.supportxtm.com:6118) - Web Dashboard: Real-time mining statistics at
http://localhost:8080 - Pool Compatibility: Works with Lucky Pool, community pools, and strict protocol pools
- High Performance: Achieves 15-18 MH/s on dual Xeon systems (72 threads)
- Thread Scaling: Optimized for high-core-count systems
- Benchmark Mode: Performance testing without pool connection
- SHA256d Support: Bitcoin mining capabilities (under development)
- Stratum V2 (SV2): Next-generation Bitcoin mining protocol testing
- Multi-Algorithm: Framework for supporting multiple mining algorithms
| System Configuration | SHA3x Hashrate | Efficiency |
|---|---|---|
| Dual Xeon 2699v3 (72T) | 15-18 MH/s | ~250 KH/s per thread |
| High-end Desktop (32T) | 8-12 MH/s | ~300-400 KH/s per thread |
| Workstation (64T) | 15-25 MH/s | ~250-400 KH/s per thread |
- Rust 1.70 or later
- CPU with AVX2 support (recommended)
- 4GB+ RAM for optimal performance
# Clone the repository
git clone https://github.com/OIEIEIO/sha3x-miner.git
cd sha3x-miner
# Build in release mode (optimized)
cargo build --release
# The binary will be available at ./target/release/sha3x-miner# Basic mining with web dashboard
cargo run --release -- \
--algo sha3x \
--wallet 125ohcEDcG8sL4DcdtqZ6YLbSgVYFJWtGeCfHmRocTcyGNYRqMYidnfs1JQPijqQvqV5SLygC5ynxZH3zED5Rr9fPAW \
--pool pool.sha3x.supportxtm.com:6118 \
--worker x99-cpu \
--threads 18 \
--web
# Alternative pools
cargo run --release -- \
--algo sha3x \
--wallet YOUR_TARI_WALLET \
--pool 142.127.107.24:7777 \
--worker my-worker \
--threads 32
# High-performance mining (dual Xeon example)
cargo run --release -- \
--algo sha3x \
--wallet YOUR_TARI_WALLET \
--pool pool.sha3x.supportxtm.com:6118 \
--worker xeon-dual \
--threads 72 \
--web# Bitcoin pool testing (experimental)
cargo run --release -- \
--algo sha256 \
--wallet YOUR_BITCOIN_ADDRESS \
--pool stratum+tcp://pool.bitcoin.com:3333 \
--worker bitcoin-test \
--threads 16
# SV2 (Stratum V2) connection testing
cargo run --release -- \
--test-sv2 \
--pool 127.0.0.1:34254# SHA3x performance test with specific difficulty
cargo run --release -- \
--algo sha3x \
--benchmark \
--threads 32 \
--benchmark-duration 60 \
--benchmark-difficulty 50000000
# SHA256d performance test (experimental)
cargo run --release -- \
--algo sha256 \
--benchmark \
--threads 32 \
--benchmark-duration 60 \
--benchmark-difficulty 1000000When using the --web flag, access your real-time mining dashboard at:
- URL:
http://localhost:8080 - WebSocket:
ws://localhost:8080/ws - Features: Live hashrate charts, share tracking, thread monitoring
--algo <ALGORITHM>- Mining algorithm (sha3xorsha256)--wallet <ADDRESS>- Wallet address (Tari or Bitcoin)--pool <HOST:PORT>- Pool address (supports DNS resolution)
--worker <NAME>- Worker identifier for pool--threads <NUM>- Number of CPU threads (0 = auto-detect)--web- Enable real-time web dashboard--benchmark- Run performance benchmark--benchmark-duration <SEC>- Benchmark duration in seconds--benchmark-difficulty <N>- Target difficulty for benchmarking
--test-sv2- Test Stratum V2 connection (Bitcoin)
-h, --help- Show detailed help-V, --version- Show version information
sha3x-miner/
βββ src/
β βββ benchmark/ # π§ͺ Performance testing framework
β βββ core/ # β‘ Core mining algorithms
β β βββ sha3x.rs # SHA3x (Tari) implementation
β β βββ sha256.rs # SHA256d (Bitcoin) implementation [WIP]
β β βββ types.rs # Algorithm definitions and CLI args
β βββ miner/ # βοΈ Mining implementation
β β βββ cpu/ # CPU mining with thread management
β βββ pool/ # π Pool communication
β β βββ client.rs # TCP client with DNS resolution
β β βββ protocol.rs # Stratum protocol (V1 + experimental V2)
β βββ web_server.rs # π Real-time web dashboard
β βββ sv2_protocol.rs # π¬ Stratum V2 implementation [WIP]
β βββ dashboard.html # π₯οΈ Web dashboard frontend
Connect to pools using domain names instead of IP addresses:
# Before (IP only)
--pool 142.127.107.24:7777
# Now (DNS supported)
--pool pool.sha3x.supportxtm.com:6118Fixed compatibility with strict pools that require algorithm as array format:
- β Lucky Pool (flexible format)
- β Community pools (standard format)
- β Strict pools (array format required)
Monitor your mining operation with live statistics:
- Live hashrate charts
- Per-thread performance monitoring
- Share acceptance/rejection tracking
- Pool connection status
- WebSocket-based real-time updates
- Basic SHA256d algorithm implementation
- Stratum V1 protocol support
- Pool connectivity testing
- Status: Under development, may have issues
- TCP connection testing to Job Declaration Server (JDS)
- Basic noise protocol framework
- Status: Very early development, connection testing only
# Test SV2 connection
cargo run --release -- --test-sv2 --pool 127.0.0.1:34254 (WIP)# Test SHA3x performance
cargo test test_sha3x_correctness -- --nocapture (WIP)
# Test thread scaling
cargo test test_thread_scaling -- --nocapture (WIP)
# Test multi-algorithm support
cargo test bench_ -- --nocapture (WIP)# Tari mining with web dashboard
cargo run --release -- \
--algo sha3x \
--wallet 125ohcEDcG8sL4DcdtqZ6YLbSgVYFJWtGeCfHmRocTcyGNYRqMYidnfs1JQPijqQvqV5SLygC5ynxZH3zED5Rr9fPAW \
--pool pool.sha3x.supportxtm.com:6118 \
--worker production-rig \
--threads 64 \
--web# Bitcoin pool testing (experimental)
cargo run --release -- \
--algo sha256 \
--wallet 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 \
--pool stratum+tcp://slushpool.com:4444 \
--worker test-worker \
--threads 32π Starting SHA3x Miner
π Pool: pool.sha3x.supportxtm.com:6118
π³ Wallet: 125ohcEDcG8sL4DcdtqZ6YLbSgVYFJWtGeCfHmRocTcyGNYRqMYidnfs1JQPijqQvqV5SLygC5ynxZH3zED5Rr9fPAW
π· Worker: x99-cpu
π§΅ Threads: 18
π Real-time dashboard will be available at: http://localhost:8080
π Live charts accessible via the 'Live Charts' tab
π WebSocket endpoint: ws://localhost:8080/ws
π Starting web dashboard server...
π Web dashboard available at: http://localhost:8080
π Real-time charts at: http://localhost:8080 (Live Charts tab)
β
Connected to SHA3x pool
π€ Sent SHA3x login request
π SHA3x login request sent
π MINER DASHBOARD - 786843f2a65d78c9
ββ Algorithm: Sha3x
ββ Current Hashrate: 0.00 H/s
ββ Session Avg: 0.00 H/s
ββ Shares: 0/0 (0.0% accepted)
ββ Session Time: 0s
ββ Active Threads: 0/18
ββ Current Difficulty: 0
β
SHA3x login successful
π New job sent: b273529473b72d95 (height: 35176, difficulty: 10.0B)
β
WebSocket client connected
π Progress: 17.84 MH/s | Shares: 42
- Live Charts: Real-time hashrate visualization
- Thread Monitoring: Individual thread performance
- Share Tracking: Accepted/rejected share statistics
- Connection Status: Pool connectivity and latency
- Job Information: Current mining job details
Pool Connection:
- Use DNS names when possible:
pool.sha3x.supportxtm.com:6118 - Test with different pools if connection fails
- Check firewall settings for outbound connections
Algorithm Support:
- SHA3x: Production ready β
- SHA256d: Experimental, may have issues
β οΈ - SV2: Connection testing only π¬
Web Dashboard:
- Access at
http://localhost:8080when using--webflag - Ensure port 8080 is available
- Dashboard auto-starts with mining
Contributions welcome! Current development priorities:
- Complete SHA256d Bitcoin mining implementation
- Improve SV2 protocol support
- Performance optimizations
- More comprehensive testing
- GPU acceleration (CUDA/OpenCL)
- Additional pool protocols
- Enhanced web dashboard features
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
- Tari Project for SHA3x algorithm
- Bitcoin community for Stratum V2 specifications
- Rust cryptographic libraries
- Mining community for testing and feedback
Special thanks to:
- @Snipa22 - For guidance and assistance during development
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Communities: Tari Discord, Bitcoin mining forums
Happy Mining! βοΈπ
Note: Experimental features are under active development. For production mining, use SHA3x algorithm with established pools.