51 lines
1.3 KiB
Dart
51 lines
1.3 KiB
Dart
class P2poolConfig {
|
|
const P2poolConfig({
|
|
required this.walletAddress,
|
|
this.host = '127.0.0.1',
|
|
this.rpcPort = 17750,
|
|
this.zmqPort = 17751,
|
|
this.stratum = '0.0.0.0:3333',
|
|
this.p2p = '0.0.0.0:38889',
|
|
this.startMining = false,
|
|
this.miningThreads = 1,
|
|
});
|
|
|
|
final String walletAddress;
|
|
final String host;
|
|
final int rpcPort;
|
|
final int zmqPort;
|
|
final String stratum;
|
|
final String p2p;
|
|
final bool startMining;
|
|
final int miningThreads;
|
|
|
|
P2poolConfig copyWith({
|
|
String? walletAddress,
|
|
String? host,
|
|
int? rpcPort,
|
|
int? zmqPort,
|
|
String? stratum,
|
|
String? p2p,
|
|
bool? startMining,
|
|
int? miningThreads,
|
|
}) {
|
|
return P2poolConfig(
|
|
walletAddress: walletAddress ?? this.walletAddress,
|
|
host: host ?? this.host,
|
|
rpcPort: rpcPort ?? this.rpcPort,
|
|
zmqPort: zmqPort ?? this.zmqPort,
|
|
stratum: stratum ?? this.stratum,
|
|
p2p: p2p ?? this.p2p,
|
|
startMining: startMining ?? this.startMining,
|
|
miningThreads: miningThreads ?? this.miningThreads,
|
|
);
|
|
}
|
|
}
|
|
|
|
abstract class P2poolService {
|
|
Future<bool> isRunning({P2poolConfig? config});
|
|
Future<bool> start({required P2poolConfig config});
|
|
Future<bool> stop();
|
|
Future<bool> restart({required P2poolConfig config});
|
|
}
|