34 lines
842 B
Dart
34 lines
842 B
Dart
class LocalNodeConfig {
|
|
const LocalNodeConfig({
|
|
this.rpcHost = '127.0.0.1',
|
|
this.rpcPort = 17750,
|
|
this.extraArgs = const [],
|
|
});
|
|
|
|
final String rpcHost;
|
|
final int rpcPort;
|
|
final List<String> extraArgs;
|
|
|
|
// TODO: extend with dataDir/logging/zmq flags once we add mining/p2pool.
|
|
|
|
LocalNodeConfig copyWith({
|
|
String? rpcHost,
|
|
int? rpcPort,
|
|
List<String>? extraArgs,
|
|
}) {
|
|
return LocalNodeConfig(
|
|
rpcHost: rpcHost ?? this.rpcHost,
|
|
rpcPort: rpcPort ?? this.rpcPort,
|
|
extraArgs: extraArgs ?? this.extraArgs,
|
|
);
|
|
}
|
|
}
|
|
|
|
abstract class LocalNodeService {
|
|
Future<bool> isRunning({LocalNodeConfig? config});
|
|
Future<bool> ensureRunning({LocalNodeConfig? config});
|
|
Future<bool> start({LocalNodeConfig? config});
|
|
Future<bool> stop();
|
|
Future<bool> restart({LocalNodeConfig? config});
|
|
}
|