private void LoadProxySettings() { MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor proxy = minerConfiguration.StratumProxies.First(); proxyPortEdit.Text = proxy.GetworkPort.ToString(); stratumProxyPortEdit.Text = proxy.StratumPort.ToString(); }
private void SaveProxySettings() { MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor proxy = minerConfiguration.StratumProxies.First(); proxy.GetworkPort = int.Parse(proxyPortEdit.Text); proxy.StratumPort = int.Parse(stratumProxyPortEdit.Text); }
private void LaunchProxyMiners(int apiPort) { IEnumerable <Xgminer.Data.Device> proxyDevices = devices.Where(d => d.Kind == DeviceKind.PXY); foreach (Xgminer.Data.Device proxyDevice in proxyDevices) { Data.Configuration.Device deviceConfiguration = engineConfiguration.DeviceConfigurations.Single(d => d.Equals(proxyDevice)); //proxy is disabled if (!deviceConfiguration.Enabled) { continue; } //no coin assigned if (String.IsNullOrEmpty(deviceConfiguration.CoinSymbol)) { continue; } Xgminer.Data.Configuration.Miner minerConfiguration = CreateProxyConfiguration(apiPort, deviceConfiguration.CoinSymbol); //null if no pools configured if (minerConfiguration != null) { minerConfiguration.DeviceDescriptors.Add(proxyDevice); minerConfiguration.StratumProxy = engineConfiguration.XgminerConfiguration.StratumProxy; int index = Math.Max(0, proxyDevice.RelativeIndex); if ((donationPercent == 0) && (index > 0)) { throw new Exception(AdvancedProxiesRequirePerksMessage); } MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor proxyDescriptor = engineConfiguration.XgminerConfiguration.StratumProxies[index]; minerConfiguration.StratumProxyPort = proxyDescriptor.GetworkPort; minerConfiguration.StratumProxyStratumPort = proxyDescriptor.StratumPort; Process process = LaunchMinerProcess(minerConfiguration, "Starting mining"); if (!process.HasExited) { StoreMinerProcess(process, MinerFactory.Instance.GetDefaultMiner(), deviceConfiguration.CoinSymbol, minerConfiguration, apiPort); } apiPort++; } } }
private void addProxyButton_Click(object sender, EventArgs e) { MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor lastProxy = minerConfiguration.StratumProxies.Last(); MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor newProxy = new MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor() { GetworkPort = lastProxy.GetworkPort + 1, StratumPort = lastProxy.StratumPort + 1 }; proxyDescriptorBindingSource.Add(newProxy); proxyListBox.SelectedIndex = minerConfiguration.StratumProxies.Count - 1; getworkPortEdit.Focus(); }
private void addProxyButton_Click(object sender, EventArgs e) { MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor lastProxy = minerConfiguration.StratumProxies.Last(); MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor newProxy = new MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor() { GetworkPort = lastProxy.GetworkPort + 1, StratumPort = lastProxy.StratumPort + 1 }; proxyDescriptorBindingSource.Add(newProxy); proxyListBox.SelectedIndex = minerConfiguration.StratumProxies.Count - 1; getworkPortEdit.Focus(); }
public List <Device> GetDevices(MinerDescriptor minerDescriptor, string executablePath) { Xgminer.Data.Configuration.Miner minerConfiguration = new Xgminer.Data.Configuration.Miner() { ExecutablePath = executablePath, DisableGpu = xgminerConfiguration.DisableGpu, DisableUsbProbe = xgminerConfiguration.DisableUsbProbe, ScanArguments = xgminerConfiguration.ScanArguments }; Xgminer.Miner miner = new Xgminer.Miner(minerConfiguration, false); Version minerVersion = new Version(MinerInstaller.GetInstalledMinerVersion(minerDescriptor, executablePath, false)); List <Device> detectedDevices = miner.ListDevices(true, minerVersion); if (xgminerConfiguration.StratumProxy) { for (int i = 0; i < xgminerConfiguration.StratumProxies.Count; i++) { MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor proxy = xgminerConfiguration.StratumProxies[i]; detectedDevices.Add(new Device() { Kind = DeviceKind.PXY, Driver = "proxy", Name = String.Format("Stratum Proxy #{0}", (i + 1)), //we want the path in the ViewModel for Remoting //can't rely on having the Stratum Proxy settings Path = String.Format("{0}:{1}", proxy.GetworkPort, proxy.StratumPort), RelativeIndex = i }); } } SortDevices(detectedDevices); return(detectedDevices); }
private void proxyListBox_Format(object sender, ListControlConvertEventArgs e) { MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor proxy = (MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor)e.ListItem; e.Value = String.Format("Getwork: {0} / Stratum: {1}", proxy.GetworkPort, proxy.StratumPort); }