Skip to content
PyOpenCL bitcoin miner with a GUI frontend
Python C
Find file
#99 Compare This branch is 245 commits ahead, 19 commits behind m0mchil:master.
Latest commit 5c6b314 Jan 28, 2014 @Kiv Merge pull request #109 from SandroHc/patch-1
Minor change to entry on guiminer_pt.po file
Failed to load latest commit information.
screenshots Add screenshots Feb 25, 2011
.gitignore Add option for blockchain directory. Accept bitcoin-qt.exe. Nov 18, 2012
BFLMiner.py list BFL devices (ports actually) Nov 9, 2012
GetworkSource.py stop long polling on failed authorization Oct 30, 2012
LICENSE.txt Include license in distribution. Use .txt extension to be more friend… Feb 27, 2011
Miner.py pass reference time for hash rate calculation Oct 17, 2012
OpenCLMiner.py fixed issue #54 not recovering from failed calls to ADL Nov 28, 2012
README support for stratum Sep 18, 2012
README.md Rename README.txt to README.md Apr 3, 2013
Source.py implemented stratum reconnect and add_peers Oct 30, 2012
StratumSource.py set keep alive only for TCP sockets Nov 16, 2012
Switch.py don't start miners if no servers are defined Nov 16, 2012
defaults.ini Integrated support for different pools with default pool configurable… Mar 13, 2011
detect.py initial support for non-opencl devices (BFL for now) Oct 5, 2012
distribute_setup.py initial support for non-opencl devices (BFL for now) Oct 5, 2012
guiminer.py Merge https://github.com/Kiv/poclbm Apr 24, 2013
guiminer_de.po fix typo Nov 24, 2013
guiminer_eo.po esperanto translation / traduko Sep 4, 2012
guiminer_es.po Tidy up translations. Jun 14, 2011
guiminer_fr.po Tidy up translations more. Jun 14, 2011
guiminer_hu.po Language changes. Jul 1, 2011
guiminer_it.po Tidy up translations. Jun 15, 2011
guiminer_nl.po Dutch translation for GUIMiner Nov 1, 2011
guiminer_pt.po Minor change to entry on guiminer_pt.po file Jan 19, 2014
guiminer_ru.po Tidy up translations. Jun 15, 2011
guiminer_zh.po Update to the Chinese Simp translation Jun 15, 2011
ioutil.py avoid losing the com ports list (because sort() works in-place) Nov 9, 2012
log.py detect stratum proxies Oct 29, 2012
logo.ico Force use of 16x16 icon for taskbar. Edit logo to remove translucent … Mar 29, 2011
messages.pot Language changes. Jul 1, 2011
mockBitcoinMiner.py Clean up mockBitcoinMiner.py Mar 20, 2011
phatk.cl further optimized kernel by Diapolo Jul 14, 2011
po_to_mo.py Update languages. Jun 5, 2011
poclbm.py Merge https://github.com/m0mchil/poclbm Dec 3, 2012
servers.ini Update servers.ini Apr 15, 2013
setup.py Fix setup.py for latest version. Nov 18, 2012
sha256.py initial support for non-opencl devices (BFL for now) Oct 5, 2012
socks.py socks.py should use socks5errors strings when raising Socks5Error Feb 5, 2012
util.py don't import not used miner modules Oct 17, 2012
version.py version bump Oct 17, 2012

README.md

GUIMiner - a graphical interface for mining Bitcoins

by Chris 'Kiv' MacLeod based on:

  • "poclbm" by m0mchil
  • 'rpcminer' by puddinpop
  • bitcoin-miner by ufasoft

What is it?

GUIMiner is a graphical front end for mining Bitcoins. It provides a more convenient way to operate Bitcoin miners without having to use the command line. It supports both NVIDIA and ATI GPUs, as well as CPU mining. It supports both pooled mining and solo mining, with a wide list of pool servers pre-set with the program.

What is it not?

GUIMiner does not replace the standard Bitcoin client from bitcoin.org - you still need that program to view your account balance and send transactions. It is not a server, so it has to connect either to a mining pool, or to your computer's 'bitcoin.exe' if mining solo.

The Latest Version

You can get the latest version on the project page at GitHub:

https://github.com/Kiv/poclbm

Features

  • Supports multiple miners in a tabbed interface.
  • Remembers your login info between sessions.
  • Supports both solo and pooled mining.
  • Supports OpenCL, CUDA, and CPU mining.
  • Minimizes to tray. Hover on tray icon to see status.
  • Displays your accepted and stale/invalid shares over time.
  • View your account balance with a pool and/or withdraw funds from the GUI, at participating pools.

Requirements

  • To mine using an ATI GPU, you need an OpenCL compatible card with a working version of OpenCL installed. If you are unsure whether your GPU supports OpenCL, try the GPU Caps Viewer:

    http://www.ozone3d.net/gpu_caps_viewer/

For AMD/ATI cards, to get a version of OpenCL you need the Stream SDK which is available here: http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/

For NVIDIA cards, you can also install OpenCL and mine that way, or you can install CUDA and use rpcminer-CUDA which may provide slightly higher performance since it is optimized specifically for NVIDIA cards.

For CPU mining, you don't need anything special; you can mine using rpcminer-cpu or rpcminer-4way; try both to see which has better performance on your CPU.

Instructions for Pooled Mining

Pooled mining is recommended for most users, since it gives steadier payouts than solo mining. Several pool servers are supported out of the box; you can select one from the "Server" dropdown menu. Different servers have different fees and features; you can visit the website for each one to learn more. Also, the official Bitcoin forums are a good source for information:

http://www.bitcoin.org/smf/

Most servers require (free) registration; to register go to the server website and follow their instructions.

Once you've registered, you can enter your login information in the fields of the GUI. The "Extra flags" field is optional and can be used to fine-tune GPU performance.

Click "Start mining!" to connect to the server. The miner should connect and start showing your hash rate. This is the number of attempts per second to solve the current block. After a while the miner will also show "shares" accepted by the pool. The more shares you have, the larger your share will be of the 50 Bitcoins when the block is solved.

To see if your hashing rate is comparable to others, you can look up your GPU on this chart:

http://pastebin.com/AvymGnMJ

You can save your login info for next time by using File -> Save. Next time you open the GUI your login will be remembered.

You can run multiple CPUs/GPUs in separate tabs by using File -> New and entering the new miner's login info. Remember to save your login info after it's entered.

Solo Mining

Solo mining is recommended for users with a lot of computing power available, or if you can't find or connect to any pools. It doesn't give any award at all unless you find a block (which takes weeks to months), at which point you get 50 BTC all at once.

For solo mining, instead of connecting to a pool server you connect to your own local machine's copy of 'bitcoin.exe'. Instead of registering with the pool server, you put your login info in a special file called 'bitcoin.conf'.

GUIMiner has utilities to help with these tasks. To create the bitcoin.conf, choose "Solo utilities -> Create solo password..." and create a user and password. It should show a message saying that it was successful.

To launch bitcoin.exe in server mode, you might need to point GUIMiner to the location of bitcoin.exe. If you installed Bitcoin in the regular location of Program Files/Bitcoin, you can skip this step. Otherwise choose "Solo utilities -> Set Bitcoin client path".

Then make sure bitcoin.exe is not running already and choose "Solo utilities -> Launch Bitcoin client". This should bring up the official Bitcoin client. You will need to leave this open while you are solo mining.

You will need to be connected to the Bitcoin network before you can mine; in the official client this is shown in the status bar as "6 connections" or similar.

If this is the first time you've launched the official Bitcoin client, you will also need to wait while the block chain is downloaded. This can take a long time on slower computers.

Now you can enter your information in the text boxes. Make sure the "Host" option reads "localhost" since the server is on your own machine. Put your username and password that you chose earlier. Then press "Start mining!" to connect and start mining.

Useful OpenCL flags

These flags can be entered in the Extra Flags field when using the OpenCL miner to tweak the miner settings:

-v Enable vectors, which is faster on some cards. -f30 Set priority to the specified number (default 30). A higher number is lower priority. Increase this to reduce desktop lag or to make a miner yield GPU control to other miners or games. -s0.01 Sleep for the specified number of seconds between iterations (default 0). Increase this to reduce hashing performance if your temperatures are too high.

These are the most useful flags; for a complete list, see here: http://forum.bitcoin.org/?topic=4122.0

Running From Source

Running GUIMiner from source requires: - Python 2.6 or higher (Python 3 not supported) - wxPython

Mining using OpenCL with poclbm also requires:
- PyOpenCL
- numpy

Once these are installed run "guiminer.py" to start.

Bug Reporting

This is very early software, so any bug reports are appreciated. Issues and forks can be created at:

https://github.com/Kiv/poclbm    
Something went wrong with that request. Please try again.