Skip to content
This repository

PyOpenCL bitcoin miner with a GUI frontend

This branch is 0 commits ahead and 0 commits behind master

Merge pull request #109 from SandroHc/patch-1

Minor change to entry on guiminer_pt.po file
latest commit 5c6b314b63
Kiv authored
Octocat-spinner-32 screenshots Add screenshots February 25, 2011
Octocat-spinner-32 .gitignore Add option for blockchain directory. Accept bitcoin-qt.exe. November 18, 2012
Octocat-spinner-32 BFLMiner.py list BFL devices (ports actually) November 09, 2012
Octocat-spinner-32 GetworkSource.py stop long polling on failed authorization October 30, 2012
Octocat-spinner-32 LICENSE.txt Include license in distribution. Use .txt extension to be more friend… February 27, 2011
Octocat-spinner-32 Miner.py pass reference time for hash rate calculation October 17, 2012
Octocat-spinner-32 OpenCLMiner.py fixed issue #54 not recovering from failed calls to ADL November 28, 2012
Octocat-spinner-32 README support for stratum September 18, 2012
Octocat-spinner-32 README.md Rename README.txt to README.md April 03, 2013
Octocat-spinner-32 Source.py implemented stratum reconnect and add_peers October 30, 2012
Octocat-spinner-32 StratumSource.py set keep alive only for TCP sockets November 16, 2012
Octocat-spinner-32 Switch.py don't start miners if no servers are defined November 16, 2012
Octocat-spinner-32 defaults.ini Integrated support for different pools with default pool configurable… March 13, 2011
Octocat-spinner-32 detect.py initial support for non-opencl devices (BFL for now) October 05, 2012
Octocat-spinner-32 distribute_setup.py initial support for non-opencl devices (BFL for now) October 05, 2012
Octocat-spinner-32 guiminer.py Merge https://github.com/Kiv/poclbm April 24, 2013
Octocat-spinner-32 guiminer_de.po fix typo November 24, 2013
Octocat-spinner-32 guiminer_eo.po esperanto translation / traduko September 04, 2012
Octocat-spinner-32 guiminer_es.po Tidy up translations. June 14, 2011
Octocat-spinner-32 guiminer_fr.po Tidy up translations more. June 14, 2011
Octocat-spinner-32 guiminer_hu.po Language changes. July 01, 2011
Octocat-spinner-32 guiminer_it.po Tidy up translations. June 14, 2011
Octocat-spinner-32 guiminer_nl.po Dutch translation for GUIMiner November 01, 2011
Octocat-spinner-32 guiminer_pt.po Minor change to entry on guiminer_pt.po file January 19, 2014
Octocat-spinner-32 guiminer_ru.po Tidy up translations. June 14, 2011
Octocat-spinner-32 guiminer_zh.po Update to the Chinese Simp translation June 15, 2011
Octocat-spinner-32 ioutil.py avoid losing the com ports list (because sort() works in-place) November 09, 2012
Octocat-spinner-32 log.py detect stratum proxies October 29, 2012
Octocat-spinner-32 logo.ico Force use of 16x16 icon for taskbar. Edit logo to remove translucent … March 29, 2011
Octocat-spinner-32 messages.pot Language changes. July 01, 2011
Octocat-spinner-32 mockBitcoinMiner.py Clean up mockBitcoinMiner.py March 20, 2011
Octocat-spinner-32 phatk.cl further optimized kernel by Diapolo July 14, 2011
Octocat-spinner-32 po_to_mo.py Update languages. June 05, 2011
Octocat-spinner-32 poclbm.py Merge https://github.com/m0mchil/poclbm December 03, 2012
Octocat-spinner-32 servers.ini Update servers.ini April 15, 2013
Octocat-spinner-32 setup.py Fix setup.py for latest version. November 18, 2012
Octocat-spinner-32 sha256.py initial support for non-opencl devices (BFL for now) October 05, 2012
Octocat-spinner-32 socks.py socks.py should use socks5errors strings when raising Socks5Error February 05, 2012
Octocat-spinner-32 util.py don't import not used miner modules October 17, 2012
Octocat-spinner-32 version.py version bump October 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.