Files
peyawallet/lib/services/mining_service.dart
Codex Bot 067f1bc2f8
build / Build Linux (lite) (push) Failing after 13s
build / Build Linux (mining) (push) Successful in 3m39s
build / Build Windows (mining) (push) Has been cancelled
build / Build Windows (lite) (push) Has been cancelled
Add xmrig service layer to peyawallet
2026-04-20 23:31:05 +02:00

60 lines
1.5 KiB
Dart

enum MinerTargetMode { solo, pool }
class MinerLaunchConfig {
const MinerLaunchConfig({
required this.mode,
required this.walletAddress,
required this.cpuThreads,
required this.apiPort,
required this.poolHost,
required this.poolPort,
required this.daemonHost,
required this.daemonPort,
required this.daemonZmqPort,
});
final MinerTargetMode mode;
final String walletAddress;
final int cpuThreads;
final int apiPort;
final String poolHost;
final int poolPort;
final String daemonHost;
final int daemonPort;
final int daemonZmqPort;
}
class XmrigSummary {
const XmrigSummary({
required this.status,
required this.pool,
required this.hashrate10s,
required this.hashrate1m,
required this.hashrate15m,
required this.acceptedShares,
required this.totalShares,
required this.rejectedShares,
required this.uptimeSeconds,
required this.currentDifficulty,
});
final String status;
final String pool;
final double? hashrate10s;
final double? hashrate1m;
final double? hashrate15m;
final int acceptedShares;
final int totalShares;
final int rejectedShares;
final int uptimeSeconds;
final int currentDifficulty;
}
abstract class MiningService {
Future<bool> isRunning({MinerLaunchConfig? config});
Future<bool> start({required MinerLaunchConfig config});
Future<bool> stop({MinerLaunchConfig? config});
Future<bool> restart({required MinerLaunchConfig config});
Future<XmrigSummary?> fetchSummary({required MinerLaunchConfig config});
}