From 1defcdb5996ca306e20f510b070cf286ca4b3322 Mon Sep 17 00:00:00 2001 From: nicehashdev Date: Mon, 19 Oct 2015 14:26:17 +0200 Subject: [PATCH] Initial working version - beta --- NiceHashMiner.sln | 1 + NiceHashMiner/Config.cs | 42 +++++++++- NiceHashMiner/Form1.Designer.cs | 8 ++ NiceHashMiner/Form1.cs | 125 +++++++++++++++++++---------- NiceHashMiner/Form2.cs | 3 +- NiceHashMiner/Helpers.cs | 9 +++ NiceHashMiner/Miner.cs | 5 +- NiceHashMiner/NiceHashMiner.csproj | 2 +- NiceHashMiner/ccminer.cs | 5 ++ NiceHashMiner/cpuminer.cs | 63 ++++++--------- README.md | 27 ++++++- newminer.png | Bin 58671 -> 65539 bytes 12 files changed, 199 insertions(+), 91 deletions(-) diff --git a/NiceHashMiner.sln b/NiceHashMiner.sln index 7aa5452..3b734d5 100644 --- a/NiceHashMiner.sln +++ b/NiceHashMiner.sln @@ -6,6 +6,7 @@ MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NiceHashMiner", "NiceHashMiner\NiceHashMiner.csproj", "{A70B0AEE-15C4-49E1-9DC9-B936A1EBC2B5}" ProjectSection(ProjectDependencies) = postProject {23C94F99-F466-4CBE-90B7-71B450DD7BF1} = {23C94F99-F466-4CBE-90B7-71B450DD7BF1} + {CC9B70AB-897D-4AE9-8785-33CEB199E2E6} = {CC9B70AB-897D-4AE9-8785-33CEB199E2E6} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpuid", "cpuid\cpuid.vcxproj", "{23C94F99-F466-4CBE-90B7-71B450DD7BF1}" diff --git a/NiceHashMiner/Config.cs b/NiceHashMiner/Config.cs index 7d4ea16..a136c10 100644 --- a/NiceHashMiner/Config.cs +++ b/NiceHashMiner/Config.cs @@ -6,12 +6,24 @@ namespace NiceHashMiner { - class Config + public class Group { #pragma warning disable 649 + public string Name; // only used for easier manual identification in config file + public int[] DisabledDevices; + public double[] BenchmarkSpeeds; +#pragma warning restore 649 + } + + public class Config + { +#pragma warning disable 649 + public bool DebugConsole; public string BitcoinAddress; public string WorkerName; public int Location; + public int LessThreads; + public Group[] Groups; #pragma warning restore 649 public static Config ConfigData; @@ -23,6 +35,9 @@ static Config() ConfigData.BitcoinAddress = "1PJ5HWjAniHPMuvfu89L6D2CmnL1De1syn"; ConfigData.WorkerName = "worker1"; ConfigData.Location = 0; + ConfigData.LessThreads = 0; + ConfigData.Groups = new Group[0]; + ConfigData.DebugConsole = false; try { ConfigData = JsonConvert.DeserializeObject(File.ReadAllText("config.json")); } catch { } @@ -30,9 +45,32 @@ static Config() public static void Commit() { - try { File.WriteAllText("config.json", JsonConvert.SerializeObject(ConfigData)); } + try { File.WriteAllText("config.json", JsonConvert.SerializeObject(ConfigData, Formatting.Indented)); } catch { } } + + public static void RebuildGroups() + { + // rebuild config groups + Group[] CG = new Group[Form1.Miners.Length]; + for (int i = 0; i < Form1.Miners.Length; i++) + { + CG[i] = new Group(); + CG[i].Name = Form1.Miners[i].MinerDeviceName; + CG[i].BenchmarkSpeeds = new double[Form1.Miners[i].SupportedAlgorithms.Length]; + for (int k = 0; k < Form1.Miners[i].SupportedAlgorithms.Length; k++) + CG[i].BenchmarkSpeeds[k] = Form1.Miners[i].SupportedAlgorithms[k].BenchmarkSpeed; + List DD = new List(); + for (int k = 0; k < Form1.Miners[i].CDevs.Count; k++) + { + if (!Form1.Miners[i].CDevs[k].Enabled) + DD.Add(k); + } + CG[i].DisabledDevices = DD.ToArray(); + } + ConfigData.Groups = CG; + Config.Commit(); + } } } diff --git a/NiceHashMiner/Form1.Designer.cs b/NiceHashMiner/Form1.Designer.cs index 9180439..42df1be 100644 --- a/NiceHashMiner/Form1.Designer.cs +++ b/NiceHashMiner/Form1.Designer.cs @@ -262,6 +262,7 @@ private void InitializeComponent() // label6 // this.label6.AutoSize = true; + this.label6.Enabled = false; this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); this.label6.Location = new System.Drawing.Point(124, 212); this.label6.Name = "label6"; @@ -272,6 +273,7 @@ private void InitializeComponent() // label7 // this.label7.AutoSize = true; + this.label7.Enabled = false; this.label7.Location = new System.Drawing.Point(12, 212); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(106, 13); @@ -281,6 +283,7 @@ private void InitializeComponent() // label8 // this.label8.AutoSize = true; + this.label8.Enabled = false; this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); this.label8.Location = new System.Drawing.Point(124, 225); this.label8.Name = "label8"; @@ -291,6 +294,7 @@ private void InitializeComponent() // label9 // this.label9.AutoSize = true; + this.label9.Enabled = false; this.label9.Location = new System.Drawing.Point(12, 225); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(94, 13); @@ -319,6 +323,7 @@ private void InitializeComponent() // label12 // this.label12.AutoSize = true; + this.label12.Enabled = false; this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); this.label12.Location = new System.Drawing.Point(326, 212); this.label12.Name = "label12"; @@ -329,6 +334,7 @@ private void InitializeComponent() // label13 // this.label13.AutoSize = true; + this.label13.Enabled = false; this.label13.Location = new System.Drawing.Point(287, 212); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(33, 13); @@ -338,6 +344,7 @@ private void InitializeComponent() // label14 // this.label14.AutoSize = true; + this.label14.Enabled = false; this.label14.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); this.label14.Location = new System.Drawing.Point(326, 225); this.label14.Name = "label14"; @@ -348,6 +355,7 @@ private void InitializeComponent() // label15 // this.label15.AutoSize = true; + this.label15.Enabled = false; this.label15.Location = new System.Drawing.Point(287, 225); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(33, 13); diff --git a/NiceHashMiner/Form1.cs b/NiceHashMiner/Form1.cs index 4c15008..dcda016 100644 --- a/NiceHashMiner/Form1.cs +++ b/NiceHashMiner/Form1.cs @@ -34,51 +34,89 @@ public partial class Form1 : Form private int CurrentNVIDIAAlgo = -1; private int CurrentAMDAlgo = -1; - private Random R = new Random((int)DateTime.Now.Ticks); + private Random R; + public Form1() { InitializeComponent(); + if (Config.ConfigData.DebugConsole) + Helpers.AllocConsole(); + + Helpers.ConsolePrint("Starting up"); + + R = new Random((int)DateTime.Now.Ticks); + Text += " v" + Application.ProductVersion; comboBox1.SelectedIndex = Config.ConfigData.Location; textBox1.Text = Config.ConfigData.BitcoinAddress; textBox2.Text = Config.ConfigData.WorkerName; - if (!Helpers.InternalCheckIsWow64()) - { - MessageBox.Show("NiceHash Miner works only on 64 bit version of OS!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); - Application.Exit(); - return; - } - // get all CPUs int CPUs = CPUID.GetPhysicalProcessorCount(); - Miners = new Miner[CPUs]; // todo: add cc and sgminer - + // get all cores (including virtual - HT can benefit mining) int ThreadsPerCPU = CPUID.GetVirtualCoresCount() / CPUs; + if (!Helpers.InternalCheckIsWow64()) + { + MessageBox.Show("NiceHash Miner works only on 64 bit version of OS for CPU mining. CPU mining will be disabled.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + CPUs = 0; + } + if (ThreadsPerCPU * CPUs > 64) { - MessageBox.Show("NiceHash Miner does not support more than 64 virtual cores!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + MessageBox.Show("NiceHash Miner does not support more than 64 virtual cores. CPU mining will be disabled.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + CPUs = 0; } + + int ThreadsPerCPUMask = ThreadsPerCPU; + ThreadsPerCPU -= Config.ConfigData.LessThreads; + if (ThreadsPerCPU < 1) + { + MessageBox.Show("LessThreads greater than number of threads per CPU. CPU mining will be disabled.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + CPUs = 0; + } + + Miners = new Miner[CPUs]; // todo: add cc and sgminer + + if (CPUs == 1) + Miners[0] = new cpuminer(0, ThreadsPerCPU, 0); else { - if (CPUs == 1) - Miners[0] = new cpuminer(0, ThreadsPerCPU, 0); - else - { - for (int i = 0; i < CPUs; i++) - Miners[i] = new cpuminer(i, ThreadsPerCPU, CPUID.CreateAffinityMask(i, ThreadsPerCPU)); - } + for (int i = 0; i < CPUs; i++) + Miners[i] = new cpuminer(i, ThreadsPerCPU, CPUID.CreateAffinityMask(i, ThreadsPerCPUMask)); } - foreach (Miner m in Miners) + // todo: initialize ccminer + + // todo: initialize sgminer + + for (int i = 0; i < Miners.Length; i++) { - foreach (ComputeDevice D in m.CDevs) + if (Config.ConfigData.Groups.Length > i) + { + for (int z = 0; z < Config.ConfigData.Groups[i].BenchmarkSpeeds.Length && z < Miners[i].SupportedAlgorithms.Length; z++) + { + Miners[i].SupportedAlgorithms[z].BenchmarkSpeed = Config.ConfigData.Groups[i].BenchmarkSpeeds[z]; + } + } + for (int k = 0; k < Miners[i].CDevs.Count; k++) { + ComputeDevice D = Miners[i].CDevs[k]; + if (Config.ConfigData.Groups.Length > i) + { + for (int z = 0; z < Config.ConfigData.Groups[i].DisabledDevices.Length; z++) + { + if (Config.ConfigData.Groups[i].DisabledDevices[z] == k) + { + D.Enabled = false; + break; + } + } + } ListViewItem lvi = new ListViewItem(); lvi.SubItems.Add(D.Vendor); lvi.SubItems.Add(D.Name); @@ -88,10 +126,11 @@ public Form1() } } + Config.RebuildGroups(); + MinerStatsCheck = new Timer(); MinerStatsCheck.Tick += MinerStatsCheck_Tick; MinerStatsCheck.Interval = 5000; // every 5 seconds - MinerStatsCheck.Start(); UpdateCheck = new Timer(); UpdateCheck.Tick += UpdateCheck_Tick; @@ -133,7 +172,7 @@ void SMACPUCheck_Tick(object sender, EventArgs e) Miners[0].SupportedAlgorithms[i].CurrentProfit = Miners[0].SupportedAlgorithms[i].BenchmarkSpeed * NiceHashData[Miners[0].SupportedAlgorithms[i].NiceHashID].paying * 0.000000001; - Debug.Print("CPU " + NiceHashData[Miners[0].SupportedAlgorithms[i].NiceHashID].name + " paying " + Miners[0].SupportedAlgorithms[i].CurrentProfit.ToString("F8") + " BTC/Day"); + Helpers.ConsolePrint("CPU " + NiceHashData[Miners[0].SupportedAlgorithms[i].NiceHashID].name + " paying " + Miners[0].SupportedAlgorithms[i].CurrentProfit.ToString("F8") + " BTC/Day"); if (Miners[0].SupportedAlgorithms[i].CurrentProfit > MaxProfit) { @@ -172,19 +211,23 @@ void SMACPUCheck_Tick(object sender, EventArgs e) void BalanceCheck_Tick(object sender, EventArgs e) { if (!VerifyMiningAddress()) return; + Helpers.ConsolePrint("NICEHASH: balance get"); double Balance = NiceHashStats.GetBalance(textBox1.Text.Trim()); - toolStripStatusLabel6.Text = Balance.ToString("F8"); + if (Balance > 0) toolStripStatusLabel6.Text = Balance.ToString("F8"); } void SMACheck_Tick(object sender, EventArgs e) { - NiceHashData = NiceHashStats.GetAlgorithmRates(); + Helpers.ConsolePrint("NICEHASH: sma get"); + NiceHashSMA[] t = NiceHashStats.GetAlgorithmRates(); + if (t != null) NiceHashData = t; } void UpdateCheck_Tick(object sender, EventArgs e) { + Helpers.ConsolePrint("NICEHASH: version get"); string ver = NiceHashStats.GetVersion(); if (ver == null) return; @@ -192,7 +235,6 @@ void UpdateCheck_Tick(object sender, EventArgs e) { linkLabel2.Text = "IMPORTANT! New version v" + ver + " has\r\nbeen released. Click here to download it."; VisitURL = "https://github.com/nicehash/NiceHashMiner/releases/tag/" + ver; - UpdateCheck.Stop(); } } @@ -206,7 +248,12 @@ private void MinerStatsCheck_Tick(object sender, EventArgs e) foreach (Miner m in Miners) { APIData AD = m.GetSummary(); - if (AD == null) continue; + if (AD == null) + { + // API is inaccessible, try to restart miner + m.Restart(); + continue; + } if (m is cpuminer) { @@ -246,7 +293,10 @@ private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs int location = comboBox1.SelectedIndex; if (location > 1) location = 1; - System.Diagnostics.Process.Start("http://www.nicehash.com/index.jsp?p=miners&addr=" + textBox1.Text.Trim()); + int algo = 0; + if (CurrentCPUAlgo >= 0) algo = Miners[0].SupportedAlgorithms[CurrentCPUAlgo].NiceHashID; + + System.Diagnostics.Process.Start("http://www.nicehash.com/index.jsp?p=miners&addr=" + textBox1.Text.Trim() + "&l=" + location + "&a=" + algo); } @@ -281,11 +331,13 @@ private void button1_Click(object sender, EventArgs e) SMACPUCheck.Start(); SMACPUCheck_Tick(null, null); + MinerStatsCheck.Start(); } private void button2_Click(object sender, EventArgs e) { + MinerStatsCheck.Stop(); SMACPUCheck.Stop(); foreach (Miner m in Miners) @@ -299,38 +351,27 @@ private void button2_Click(object sender, EventArgs e) } - //delegate void ResetButtonTextCallback(); - - //private void ResetButtonText() - //{ - // if (this.button1.InvokeRequired) - // { - // ResetButtonTextCallback d = new ResetButtonTextCallback(ResetButtonText); - // this.Invoke(d, new object[] { }); - // } - // else - // { - // this.button1.Text = "Start"; - // } - //} - private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start(VisitURL); } + private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e) { ComputeDevice G = e.Item.Tag as ComputeDevice; G.Enabled = e.Item.Checked; + Config.RebuildGroups(); } + private void Form1_FormClosing(object sender, FormClosingEventArgs e) { foreach (Miner m in Miners) m.Stop(); } + private void button3_Click(object sender, EventArgs e) { Form2 f2 = new Form2(false); diff --git a/NiceHashMiner/Form2.cs b/NiceHashMiner/Form2.cs index a3ba915..65396e1 100644 --- a/NiceHashMiner/Form2.cs +++ b/NiceHashMiner/Form2.cs @@ -62,8 +62,6 @@ private void BenchmarkComplete(string text, object tag) ListViewItem lvi = tag as ListViewItem; lvi.SubItems[2].Text = text; - // todo: average out cpu benchmarks - // initiate new benchmark InitiateBenchmark(); } @@ -84,6 +82,7 @@ private void InitiateBenchmark() else { startBenchmarkToolStripMenuItem.Text = "Start benchmark"; + Config.RebuildGroups(); } } diff --git a/NiceHashMiner/Helpers.cs b/NiceHashMiner/Helpers.cs index bc15392..1d2caa9 100644 --- a/NiceHashMiner/Helpers.cs +++ b/NiceHashMiner/Helpers.cs @@ -18,6 +18,10 @@ private static extern bool IsWow64Process( [Out] out bool wow64Process ); + [DllImportAttribute("kernel32.dll", EntryPoint = "AllocConsole")] + [return: MarshalAsAttribute(UnmanagedType.Bool)] + public static extern bool AllocConsole(); + public static bool InternalCheckIsWow64() { if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) || @@ -38,5 +42,10 @@ public static bool InternalCheckIsWow64() return false; } } + + public static void ConsolePrint(string text) + { + Console.WriteLine("[" +DateTime.Now.ToLongTimeString() + "] " + text); + } } } diff --git a/NiceHashMiner/Miner.cs b/NiceHashMiner/Miner.cs index fc5b94e..8cbf1d1 100644 --- a/NiceHashMiner/Miner.cs +++ b/NiceHashMiner/Miner.cs @@ -65,6 +65,7 @@ public abstract class Miner protected BenchmarkComplete OnBenchmarkComplete; protected object BenchmarkTag; protected int BenchmarkIndex; + protected string LastCommandLine; public Miner() { @@ -75,11 +76,13 @@ public Miner() abstract public void Start(int nhalgo, string url, string username); + abstract public void Restart(); + virtual public void Stop() { - Debug.Print(MinerDeviceName + " Shutting down miner"); if (ProcessHandle != null) { + Helpers.ConsolePrint(MinerDeviceName + " Shutting down miner"); try { ProcessHandle.Kill(); } catch { } ProcessHandle.Close(); diff --git a/NiceHashMiner/NiceHashMiner.csproj b/NiceHashMiner/NiceHashMiner.csproj index 9828e6f..260588d 100644 --- a/NiceHashMiner/NiceHashMiner.csproj +++ b/NiceHashMiner/NiceHashMiner.csproj @@ -40,7 +40,7 @@ 4 - x64 + x86 pdbonly true ..\Release\ diff --git a/NiceHashMiner/ccminer.cs b/NiceHashMiner/ccminer.cs index 5089371..b3e1d8b 100644 --- a/NiceHashMiner/ccminer.cs +++ b/NiceHashMiner/ccminer.cs @@ -52,6 +52,11 @@ public override void Start(int nhalgo, string url, string username) } + public override void Restart() + { + } + + private void Miner_Exited(object sender, EventArgs e) { Stop(); diff --git a/NiceHashMiner/cpuminer.cs b/NiceHashMiner/cpuminer.cs index 04bd34f..dc3ab0c 100644 --- a/NiceHashMiner/cpuminer.cs +++ b/NiceHashMiner/cpuminer.cs @@ -11,37 +11,6 @@ class cpuminer : Miner private int Threads; private ulong AffinityMask; - //public cpuminer() - //{ - // MinerDeviceName = "CPU(s)"; - // APIPort = 4047; - - // SupportedAlgorithms = new Algorithm[] { - // new Algorithm(9, "lyra2re", "lyra2"), - // new Algorithm(13, "axiom", "axiom"), - // new Algorithm(15, "scryptjaneleo", "scryptjane:16") - // }; - - // // detect CPU capabilities - // if (CPUID.SupportsAVX2() == 0) - // { - // if (CPUID.SupportsAVX() == 0) - // { - // if (CPUID.SupportsSSE2() == 0) - // return; - - // Path = "bin\\cpuminer_x64_SSE2.exe"; - // } - // else - // Path = "bin\\cpuminer_x64_AVX.exe"; - // } - // else - // { - // Path = "bin\\cpuminer_x64_AVX2.exe"; - // } - - // CDevs.Add(new ComputeDevice(0, CPUID.GetCPUVendor(), CPUID.GetCPUName())); - //} public cpuminer(int id, int threads, ulong affinity) { @@ -53,7 +22,7 @@ public cpuminer(int id, int threads, ulong affinity) SupportedAlgorithms = new Algorithm[] { new Algorithm(9, "lyra2re", "lyra2"), new Algorithm(13, "axiom", "axiom"), - new Algorithm(15, "scryptjaneleo", "scryptjane:16") + new Algorithm(15, "scryptjanenf16", "scryptjane:16") }; // detect CPU capabilities @@ -116,7 +85,9 @@ public override void BenchmarkStart(int index, BenchmarkComplete oncomplete, obj BenchmarkTag = tag; BenchmarkIndex = index; - string CommandLine = "--algo=" + SupportedAlgorithms[index].MinerName + " --benchmark"; + string CommandLine = "--algo=" + SupportedAlgorithms[index].MinerName + " --benchmark --threads=" + Threads.ToString(); + + Helpers.ConsolePrint(MinerDeviceName + " Starting benchmark: " + CommandLine); ProcessHandle = new Process(); ProcessHandle.StartInfo.FileName = Path; @@ -172,7 +143,7 @@ void BenchmarkTimer_Tick(object sender, EventArgs e) private void Miner_Exited_Benchmark(object sender, EventArgs e) { BenchmarkStop(); - OnBenchmarkComplete("User exited", BenchmarkTag); + OnBenchmarkComplete("Terminated", BenchmarkTag); } @@ -185,13 +156,21 @@ public override void Start(int nhalgo, string url, string username) string AlgoName = GetMinerAlgorithmName(nhalgo); if (AlgoName == null) return; - string CommandLine = "--algo=" + AlgoName + " --url=" + url + " --userpass=" + username + ":x --api-bind=" + APIPort.ToString() + " --threads=" + Threads.ToString(); + LastCommandLine = "--algo=" + AlgoName + " --url=" + url + " --userpass=" + username + ":x --api-bind=" + APIPort.ToString() + " --threads=" + Threads.ToString(); + + _Start(); + } + + + private void _Start() + { + if (CDevs.Count == 0 || !CDevs[0].Enabled) return; - Debug.Print(MinerDeviceName + " Starting miner: " + CommandLine); + Helpers.ConsolePrint(MinerDeviceName + " Starting miner: " + LastCommandLine); ProcessHandle = new Process(); ProcessHandle.StartInfo.FileName = Path; - ProcessHandle.StartInfo.Arguments = CommandLine; + ProcessHandle.StartInfo.Arguments = LastCommandLine; ProcessHandle.Exited += Miner_Exited; ProcessHandle.Start(); if (AffinityMask != 0) @@ -199,6 +178,13 @@ public override void Start(int nhalgo, string url, string username) } + public override void Restart() + { + Stop(); // stop miner first + _Start(); // start with old command line + } + + private void Miner_Exited(object sender, EventArgs e) { Stop(); @@ -221,10 +207,7 @@ public override APIData GetSummary() string[] optval = resps[i].Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries); if (optval.Length != 2) continue; if (optval[0] == "ALGO") - { aname = optval[1]; - if (aname == "scryptjane") aname += ":16"; // temporary, fix this later - } else if (optval[0] == "KHS") ad.Speed = double.Parse(optval[1], CultureInfo.InvariantCulture) * 1000; // HPS } diff --git a/README.md b/README.md index da8d5ab..25f9a59 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,29 @@ # NiceHashMiner -NiceHash easy to use CPU&GPU Miner. +NiceHash easy to use CPU&GPU Miner for Windows x64. -This is a non-working project at this phase. +Currently, miner is in beta testing. Only CPU mining supported for now. -Once complete, this will be the first CPU/GPU Intel/AMD/NVIDIA very easy to use Multi-Algorithm NiceHash miner. +For CPU mining our tpruvot's forked cpuminer has been used from here: https://github.com/nicehash/cpuminer-multi (compiled with MingW64). + +- [Features](#features) +- [How to run?](#run) + +# Features + +- Easy one-click CPU mining for CPUs that support at least SSE2. +- Support for multiple CPUs on multiple NUMAs with affinity adjustments to maximize mining speed. +- Integrated support for Simple Multi-Algorithm. Always mine most profitable algorithm. +- Integrated benchmarking tool. Run it only once before you start mining and after every hardware upgrade. +- Optimized algorithms for AVX2 and AVX. +- Watch-feature - automatically restart miner if crashed. +- Display current rate and your balance in real time. +- Auto update notifications. + +# Instructions on how to run + +- Download binaries from here: https://github.com/nicehash/NiceHashMiner/releases +- Extract zip archive +- Run NiceHashMiner.exe +- Note: .NET Framework 2.0 or higher is required. No additional installations are needed if you use Windows 7 or later. ![Alt text](/newminer.png?raw=true) \ No newline at end of file diff --git a/newminer.png b/newminer.png index d9b2a26f46933ef80959c4ba4ef197e2d394e4e4..24c7cb400b96e9437ec6432cd7239421e4c23337 100644 GIT binary patch literal 65539 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 UrKBH(;J@wP@BA*saNn{20qXc2hX4Qo literal 58671 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