Email: Aminrahman24@gmail.com
MultiMiner is a graphical application for crypto-coin mining on Windows, OS X and Linux. MultiMiner simplifies switching individual devices (GPUs, ASICs, FPGAs) between crypto-currencies such as Bitcoin and Litecoin.
MultiMiner uses the underlying mining engine (bfgminer) to detect available mining devices and then presents a user interface for selecting the coins you'd like to mine.
MultiMiner also offers several views, allowing you to display as much or as little information as you like.
For new users, MultiMiner includes a Getting Started wizard that walks you through selecting an engine, a coin, a pool, and configuring MobileMiner.
MultiMiner will automatically download and install the latest version of bfgminer, making it simple for the new user to get started.
You can then use the Configure Coins dialog to setup each coin that you would like to mine along with their pools, including support for load balancing.
MultiMiner supports automatically mining the most profitable coins based on a set of configurable strategies. Profitability information is updated regularly from CoinChoose.com.
MultiMiner also supports features such as relaunching crashed miners, starting with Windows, minimizing to the notification area, and mining on startup.
You can also use the interface provided by MultiMiner to adjust advanced settings such as API white-listing, disabling GPU mining, and automatically adjusting mining intensity based on the computer's idle time.
Finally, MultiMiner supports MobileMiner, an open API with mobile apps for remotely monitoring and controlling your rigs.
By entering your MobileMiner email address and application key in the Configure Settings dialog, you will be able to remotely monitor and control your rigs without having to open any firewalls or forward any ports.
You can download installers and zip files for Windows, OS X, Linux and Mono on the GitHub Releases page.
Depending on your OS and the mining devices you plan on using you will need one or more of the following drivers / kernel extensions installed:
- Download and run the installer (.exe) file at the above link and follow instructions
The installer runs without needing admin rights and does not install to Program Files so as not to be intrusive. However, if you prefer you can use the zip file:
- Download and extract the .zip file at the GitHub Releases page
- Launch MultiMiner.Win.exe to get started
- Install Xquartz available here
- Install the latest version of Mono
- Download and extract the .app.zip file at the GitHub Releases page
- Launch MultiMiner.app to get started
MultiMiner will automatically download redistributable binaries of bfgminer from the xgminer-osx project.
-
Install the latest version of Mono
sudo apt-get install mono-complete
-
Install your chosen mining engine
sudo add-apt-repository ppa:unit3/bfgminer sudo apt-get update sudo apt-get install bfgminer
-
Download and extract the .zip file at the GitHub Releases page
-
Run MultiMiner.Win.exe using mono:
mono MultiMiner.Win.exe
-
Download and extract the zip file at the GitHub Releases page
-
Install bfgminer. For OS X, you can find packages and for doing so here and instructions for using them here.
-
Install X11. Under OS X you should install Xquartz available here.
-
Install the latest version of Mono.
-
Run MultiMiner.Win.exe using mono:
mono MultiMiner.Win.exe
//examples of using MultiMiner.Xgminer.dll and MultiMiner.Xgminer.Api.dll
//download and install the latest version of bfgminer
const string executablePath = @"D:\bfgminer\";
const string executableName = "bfgminer.exe";
Console.WriteLine("Downloading and installing {0} from {1} to the directory {2}",
executableName, Xgminer.Installer.GetMinerDownloadRoot(), executablePath);
//download and install bfgminer from the official website
Xgminer.Installer.InstallMiner(executablePath);
try
{
//create an instance of Miner with the downloaded executable
MinerConfiguration minerConfiguration = new MinerConfiguration()
{
ExecutablePath = Path.Combine(executablePath, executableName)
};
Miner miner = new Miner(minerConfiguration);
//use it to iterate through devices
List<Device> deviceList = miner.ListDevices();
Console.WriteLine("Using {0} to list available mining devices", executableName);
//output devices
foreach (Device device in deviceList)
Console.WriteLine("Device detected: {0}\t{1}\t{2}", device.Kind, device.Driver, device.Name);
//start mining if there are devices
if (deviceList.Count > 0)
{
Console.WriteLine("{0} device(s) detected, mining Bitcoin on Bitminter using all devices", deviceList.Count);
//setup a pool
MiningPool pool = new MiningPool()
{
Host = "mint.bitminter.com",
Port = 3333,
Username = "nwoolls_deepcore",
Password = "deepcore"
};
minerConfiguration.Pools.Add(pool);
//specify algorithm
minerConfiguration.Algorithm = CoinAlgorithm.SHA256;
//disable GPU mining
minerConfiguration.DisableGpu = true;
//specify device indexes to use
for (int i = 0; i < deviceList.Count; i++)
minerConfiguration.DeviceDescriptors.Add(deviceList[i]);
//enable RPC API
minerConfiguration.ApiListen = true;
minerConfiguration.ApiPort = 4028;
Console.WriteLine("Launching {0}", executableName);
//start mining
miner = new Miner(minerConfiguration);
System.Diagnostics.Process minerProcess = miner.Launch();
try
{
//get an API context
Xgminer.Api.ApiContext apiContext = new Xgminer.Api.ApiContext(minerConfiguration.ApiPort);
try
{
//mine for one minute, monitoring hashrate via the API
for (int i = 0; i < 6; i++)
{
Thread.Sleep(1000 * 10); //sleep 10s
//query the miner process via its RPC API for device information
List<Xgminer.Api.Responses.DeviceInformationResponse> deviceInformation = apiContext.GetDeviceInformation();
//output device information
foreach (Xgminer.Api.Responses.DeviceInformationResponse item in deviceInformation)
Console.WriteLine("Hasrate for device {0}: {1} current, {2} average", item.Index,
item.CurrentHashrate, item.AverageHashrate);
}
}
finally
{
Console.WriteLine("Quitting mining via the RPC API");
//stop mining, try the API first
apiContext.QuitMining();
}
}
finally
{
Console.WriteLine("Killing any remaining process");
//then kill the process
try
{
minerProcess.Kill();
minerProcess.WaitForExit();
minerProcess.Close();
}
catch (InvalidOperationException ex)
{
//already closed
}
}
}
else
{
Console.WriteLine("No devices capable of mining detected");
}
}
finally
{
Console.WriteLine("Cleaning up, deleting directory {0}", executablePath);
Directory.Delete(executablePath, true);
}
Console.WriteLine("Press any key to exit");
Console.ReadKey();
not for use, unless given permission by: aminrahman24@gmail.com all code is copyrighted with NDA.
Credits to All the GITHUB REPO's I FOKED LMFAO.