Exemplo n.º 1
0
        private void LoadProxySettings()
        {
            MultiMiner.Engine.Data.Configuration.Xgminer.ProxyDescriptor proxy = minerConfiguration.StratumProxies.First();

            proxyPortEdit.Text        = proxy.GetworkPort.ToString();
            stratumProxyPortEdit.Text = proxy.StratumPort.ToString();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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++;
                }
            }
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
 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);
 }