A python based poolhopper for bitcoin
Python Other
Pull request Compare This branch is 313 commits behind c00w:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
StatSkin
btcnet_info @ 9926afd
mechanize
peak
plugins
webob
.gitignore
.gitmodules
CHANGELOG
HTTPCloser.py
LICENSE
POOLS_INFO
POOLS_INFO_ESP
PROJ_CODING
README
README_esp
ResourcePool.py
TODO
Workers.py
api.py
bh.cfg.default
bh.cfg.default_esp
bitHopper.py
blockexplorer.py
btcnet_wrapper.py
data.py
database.py
diff.py
exchange.py
getwork_store.py
index.html
install.py
lp.py
lp_callback.py
mechanize_LICENSE
peak_LICENSE
plugin.py
pool.py
pool_class.py
poolblock.cfg
pools.cfg
pywsgi.py
run-bithopper.bat
run-bithopper.sh
scheduler.py
setup.py
speed.py
user.cfg.default
user.cfg.default_esp
webob_LICENSE
website.py
whatevercoin.cfg
work.py
worker.cfg
worker.html

README

#Copyright (C) 2011,2012 Colin Rice
#This software is licensed under an included MIT license.
#See the file entitled LICENSE
#If you were not provided with a copy of the license please contact: 
# Colin Rice colin@daedrum.net


# Ubuntu installation
---------------------------------------------------------------------
Note: Use python2.7. There have been bugs with pythongit on 2.6

Run:

sudo apt-get install python2.7 git python2.7-dev python-setuptools python-pip libevent-dev 
sudo pip install gevent setuptools gitpython httplib2 --upgrade
git clone git://github.com/c00w/bitHopper.git
cd bitHopper
python bitHopper.py

Tested and working in Ubuntu 11.10.

# Other Linux Installations
---------------------------------------------------------------------
Note: Use pip to install your libraries. We need fairly recent versions of everything.
The libraries bundled with debian are too old.


# Instructions for Windows users
-----------------------------------------------------------------
NOTE: IF YOU ARE RUNNING LOTS OF MINERS USE LINUX.
It's a lot more stable and takes less modifications.

Download and install
1. Python
http://python.org/ftp/python/2.7.2/python-2.7.2.msi
Make sure you are using the 32 bit version.

2. Greenlet
http://pypi.python.org/packages/2.7/g/greenlet/greenlet-0.3.4.win32-py2.7.exe

3. Gevent
http://gevent.googlecode.com/files/gevent-1.0b2.win32-py2.7.msi

4. SetupTools
http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20

5. Install Git
http://code.google.com/p/msysgit/downloads/list?can=3
MAKE SURE TO SELECT THE OPTION TO RUN GIT IN THE WINDOWS COMMAND PROMPT.

7. BitHopper
github.com/c00w/bitHopper
Go to downloads and hit zip. Extract the zip to your desktop

8. Bundled Dependencies
Enter the bitHopper folder
Double click install.py, it may appear to just be "install" with no ".py" extension

Running bitHopper
DoubleClick bitHopper.py inside the bithopper folder.
It may appear to just be bitHopper with no .py extension.

# Configuring user settings

Worker Configuration page: http://localhost:8337/worker
BitHopper Stats page: http://localhost:8337/stats

Copy "user.cfg.default" to a new file called "user.cfg" then modify the new file to have correct pool roles.
Ignore the usernames and passwords. Configure the usernames and passwords on http://localhost:8337/worker

Repeat with "bh.cfg.default" and make sure default values work for you.
Run "python bitHopper.py" 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).

If you would like to use custom settings with some pools check out "pools.cfg" for examples and then
put your settings into "pools-custom.cfg". This way you can always update to latest "pools.cfg"
and also experiment with new pools or use different api sources for shares scraping.


# LP tuning / dashboard

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

See:
 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:

   DefaultScheduler

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

   SimpleSliceScheduler

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.

   AltSliceScheduler

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.

   RoundTimeScheduler

Not currently in use.

   RoundTimeDynamicPenaltyScheduler

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 http://www.bitHopper.org and start reading the bitHopper wiki or ask for help in the oficial forum
at https://bitcointalk.org/index.php?topic=26866. Join us on Freenode (http://webchat.freenode.net/) #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
 1ParaWy6NELDpseL6b1xbKvyhy5eX8f3TW - paraipan
 13hP5QuFccLUZQDNxPwnfmn6q5RiV48TEn - macboy80
 1GgorPurRdDgsbPmoGEJm2WWGxKkJ8ktkf - sdogi

 All the people who contribute to this project - https://github.com/c00w/bitHopper/network/members

 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, paraipan, Swicher, lucita777, TenthReality, dfc (Douglas Calvert), dadittoz, cutnpaster, simonk83, xzion,
 HolodeckJizzmopper, Locky7, iongchun