Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A python based poolhopper for bitcoin
Python Other
Pull request Compare This branch is 1104 commits behind c00w:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


# License

BitHopper by Colin Rice is licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at

# Ubuntu installation

In order to run bitHopper you need to have Python installed in your system. Version 2.7 of Python is suggested
although it has been tested and appears to work with version 2.6 too. To find out which version of Python your
system currently has type "python -V" in a shell console.

If you don't have Python installed at all you have to run:

sudo apt-get install python

After verifying that you have Python installed then you have to install some extra packages that bitHopper
requires to function properly:

sudo apt-get install python-dev python-setuptools
sudo easy_install greenlet
sudo easy_install importlib

If you would like to use the poclbm miner plugin do
sudo easy_install numpy

Tested and working in Ubuntu 11.04, 10.10 and 10.04 LTS

# Instructions for Windows users

ActiveState Python(recommended, use 32 bit even when you have 64 bit system)


Although you can download greenlet from the original web site and compile the source manually this is
known to cause issues for lot of users. It is much easier to install greenlet automatically using Python
package manager that comes with ActiveState Python.

To do this you have to click:

Start -> All Programs -> ActiveState ActivePython 2.7(32-bit) -> Python Package Manager

Console will open up and to this console you have to type:

pypm install greenlet

After pypm has finished installing greenlet successully type "exit" and your bitHopper is all set. Although
using ActiveState Python's pypm should work 99% of the time there have been reports of people having issues
with using it. If this is the case you could also download greenlet package from:

Please be aware that these are unofficial Windows binaries for Python. It is always best to either download
greenlet source yourself and compile it or use pypm method. If you have no other way and you have to use
these unofficial binaries then greenlet-0.3.1.win32-py2.7.exe is the correct one to download. It will
extract itself into correct directory.

# Configuring user settings

BitHopper Stats page: http://localhost:8337/stats

Copy "user.cfg.default" to a new file called "user.cfg" then modify the new file to include your pool 
worker usernames and passwords. Repeat with "bh.cfg.default" and make sure default values work for you.
Run "python" in *nix or in Windows you can double click on run-bithopper.bat. After script
updates info check if the pools have been added correctly to your stats page.

If any of the pools turns red or there is something else missing then edit your "user.cfg" accordingly.

If you don't want to use a pool delete it from "user.cfg" or go to Stats page and switch its role to
disable. BitHopper listens on loopback interface so you should direct your miner to localhost:8337
with any username and password (not blank).

# LP tuning / dashboard

LP Workbench: http://localhost:8337/lpworkbench

 Block Hash, Owner, LP Timings as deltas against winning "owner".
You can view the list of active pools, override owner and have easy access to adjust LP penalties

# Switches

You can launch bitHopper with the following parameters (some get overwriten at runtime by the ones
you set-up in "bh.cfg"):

   --ip                  = IP to listen on
   --port                = Port to listen on
   --auth                = Ask for user and password on stats page (--auth user,pass)
   --config              = Select an alternate main config file from "bh.cfg"
   --listschedulers      = List alternate schedulers available
   --scheduler           = Select an alternate scheduler
   --threshold           = Override difficulty threshold (default 0.43)
   --p2pLP               = Starts up an IRC bot to validate LP based hopping
   --debug               = Extra error output. Basically print all caught errors
   --trace               = Extra debugging output
   --logconnections      = Show connection log

# Available Schedulers:


A none slicing scheduler. May actually be the best scheduler there is.


The time based default scheduler. All that matters is time and it tries to be completely fair across all
pools. A little less effective but thoroughly debugged.


Tries to be more aggressive at switching pools when thresholds are met rather than finishing a slice.
You can find some more specific parameters to set-up in "bh.cfg.default" file.


Not currently in use.


Not currently in use.

# Skins

You can change the color scheme on the status page. Skins and .jpg preview are located in the StatSkin sub directory.
Just rename your choice to index.html and copy to the main directory to change skin. (Current version requires you to restart bH)
Tested and working on the following browsers: Firefox 6 (Win 7; Android); Chrome 13 (Win 7)
Known issues with the following browsers: WebKit (Android 2.3.4); Internet Explorer 9 (Win 7)

# More help

You can go to and start reading the bitHopper wiki or ask for help in the oficial forum
at Join us on Freenode ( #bithopper channel.

# Donations

If you think this project is cool and you want features added and bugs hunted down then consider making a p2p donation, anything counts ;)
or have "Donation" pool enabled in your stats page (setup donation percent in your "pools.cfg" - default 1%)

 1HEmzeuVEKxBQkEenysV1yM8oAddQ4o2TX - c00w

 17wp2zfxZKeycWt6NKiueVYmYyrciiuq2t - ryouiki
 1CWjg4soWEAQjMD4dCchdPpJ6fWDBRUU5b - echiu64
 15iS8iDqVCM2MF5ndaS3exR7Kw4LxFf2ra - hawks5999
 1QEBu4Tr7Qe6BMHdpeTmNDTPJhMqpDDtQ3 - paraipanakos
 13hP5QuFccLUZQDNxPwnfmn6q5RiV48TEn - macboy80
 1GgorPurRdDgsbPmoGEJm2WWGxKkJ8ktkf - sdogi

 All the people who contribute to this project -

 flower1024, echiu64 (ed64), graphiclunarkid, elitak, Clipseza, littleant, bb-btc, gnaget, murfshake, Sukrim, gtrrkicw,
 swordv2, bitcoindaddy, rkozola, ryouiki, starlightbreaker, hawks5999, erasmo, pueytan, macboy80, sdogi, joulesbeef,
 Seoulboy1, paraipanakos, Swicher, lucita777, TenthReality, dfc (Douglas Calvert), dadittoz, cutnpaster

Something went wrong with that request. Please try again.