virtual public void Restart() { Stop(); // stop miner first if (this is sgminer) { StartingUpDelay = true; } if (AlgoNameIs("ethereum")) { StartingUpDelay = true; Ethereum.StartProxy(false, "", ""); } ProcessHandle = _Start(); // start with old command line }
public override void Start(int nhalgo, string url, string username) { if (ProcessHandle != null) { return; // ignore, already running } Algorithm Algo = GetMinerAlgorithm(nhalgo); if (Algo == null) { return; } if (Algo.NiceHashName.Equals("ethereum")) { StartingUpDelay = true; // Create DAG file ahead of time if (!Ethereum.CreateDAGFile(MinerDeviceName)) { return; } // Starts up ether-proxy if (!Ethereum.StartProxy(true, url, username)) { return; } LastCommandLine = " --cuda -F http://127.0.0.1:" + Config.ConfigData.APIBindPortEthereumProxy + "/miner/10/" + MinerDeviceName + " " + " --erase-dags old" + " " + ExtraLaunchParameters + " " + Algo.ExtraLaunchParameters + " --dag-dir " + Config.ConfigData.DAGDirectory + "\\" + MinerDeviceName + " --cuda-devices "; for (int i = 0; i < CDevs.Count; i++) { if (EtherDevices[i] != -1 && CDevs[i].Enabled) { LastCommandLine += EtherDevices[i] + " "; } } } else { LastCommandLine = "--algo=" + Algo.MinerName + " --url=" + url + " --userpass="******":" + GetPassword(Algo) + " --api-bind=" + APIPort.ToString() + " " + ExtraLaunchParameters + " " + Algo.ExtraLaunchParameters + " --devices "; foreach (ComputeDevice G in CDevs) { if (G.Enabled) { LastCommandLine += G.ID.ToString() + ","; } } if (LastCommandLine.EndsWith(",")) { LastCommandLine = LastCommandLine.Remove(LastCommandLine.Length - 1); } else { LastCommandLine = ""; return; // no GPUs to start mining on } if (this is ccminer_sp && Algo.NiceHashName.Equals("neoscrypt")) { Path = "bin\\ccminer_neoscrypt.exe"; } else if (this is ccminer_sp) { Path = "bin\\ccminer_sp.exe"; } } ProcessHandle = _Start(); }
public override void Start(int nhalgo, string url, string username) { if (ProcessHandle != null) { return; // ignore, already running } Algorithm Algo = GetMinerAlgorithm(nhalgo); if (Algo == null) { Helpers.ConsolePrint(MinerDeviceName, "GetMinerAlgorithm(" + nhalgo + "): Algo equals to null"); return; } if (Algo.NiceHashName.Equals("ethereum")) { StartingUpDelay = true; // Check if dag-dir exist to avoid ethminer from crashing if (!Directory.Exists(Config.ConfigData.DAGDirectory + "\\" + MinerDeviceName)) { Directory.CreateDirectory(Config.ConfigData.DAGDirectory + "\\" + MinerDeviceName); } // Create DAG file ahead of time if (!Ethereum.CreateDAGFile(MinerDeviceName)) { return; } // Starts up ether-proxy if (!Ethereum.StartProxy(true, url, username)) { return; } WorkingDirectory = ""; LastCommandLine = " --opencl --opencl-platform " + GPUPlatformNumber + " --erase-dags old" + " " + ExtraLaunchParameters + " " + Algo.ExtraLaunchParameters + " -F http://127.0.0.1:" + Config.ConfigData.APIBindPortEthereumProxy + "/miner/10/" + MinerDeviceName + " --dag-dir " + Config.ConfigData.DAGDirectory + "\\" + MinerDeviceName + " --opencl-devices "; for (int i = 0; i < CDevs.Count; i++) { if (EtherDevices[i] != -1 && CDevs[i].Enabled) { LastCommandLine += i + " "; } } } else { StartingUpDelay = true; Path = "sgminer.exe"; WorkingDirectory = GetMinerDirectory(Algo.NiceHashName); LastCommandLine = " --gpu-platform " + GPUPlatformNumber + " -k " + Algo.MinerName + " --url=" + url + " --userpass="******":" + GetPassword(Algo) + " --api-listen" + " --api-port=" + APIPort.ToString() + " " + ExtraLaunchParameters + " " + Algo.ExtraLaunchParameters + " --device "; foreach (ComputeDevice G in CDevs) { if (G.Enabled) { LastCommandLine += G.ID.ToString() + ","; } } if (LastCommandLine.EndsWith(",")) { LastCommandLine = LastCommandLine.Remove(LastCommandLine.Length - 1); } else { LastCommandLine = ""; return; // no GPUs to start mining on } if (Config.ConfigData.DisableAMDTempControl == false) { LastCommandLine += TemperatureParam; } if (Config.ConfigData.HideMiningWindows) { LastCommandLine = " /C \"cd /d " + WorkingDirectory + " && " + Path + LastCommandLine + "\""; Path = "cmd"; } } ProcessHandle = _Start(); }