/p2pool

Peer-to-peer Bitcoin mining pool

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Requirements:

Generic:

  • Bitcoin >=0.11.1
  • Python >=2.6
  • Twisted >=10.0.0
  • python-argparse (for Python =2.6)

Linux:

  • sudo apt-get install python-zope.interface python-twisted python-twisted-web
  • sudo apt-get install python-argparse # if on Python 2.6

Windows:

Running P2Pool:

To use P2Pool, you must be running your own local bitcoind. For standard configurations, using P2Pool should be as simple as:

python run_p2pool.py

Then run your miner program, connecting to 127.0.0.1 on port 9332 with any username and password.

If you are behind a NAT, you should enable TCP port forwarding on your router. Forward port 9333 to the host running P2Pool.

Run for additional options.

python run_p2pool.py --help

Donations towards further development:

1HNeqi3pJRNvXybNX4FKzZgYJsdTSqJTbk

Official wiki:

https://en.bitcoin.it/wiki/P2Pool

Alternate web frontend:

Notes for Litecoin:

Requirements:

In order to run P2Pool with the Litecoin network, you would need to build and install the ltc_scrypt module that includes the scrypt proof of work code that Litecoin uses for hashes.

Linux:

cd litecoin_scrypt
sudo python setup.py install

Windows (mingw):

In bash type this:

cd litecoin_scrypt
C:\Python27\python.exe setup.py build --compile=mingw32 install

Windows (Microsoft Visual C++)

  • Open visual studio console

In bash type this:

SET VS90COMNTOOLS=%VS110COMNTOOLS%	           # For visual c++ 2012
SET VS90COMNTOOLS=%VS100COMNTOOLS%             # For visual c++ 2010
cd litecoin_scrypt
C:\Python27\python.exe setup.py build --compile=mingw32 install

If you run into an error with unrecognized command line option '-mno-cygwin', see this: http://stackoverflow.com/questions/6034390/compiling-with-cython-and-mingw-produces-gcc-error-unrecognized-command-line-o

Running P2Pool:

Run P2Pool with the "--net litecoin" option. Run your miner program, connecting to 127.0.0.1 on port 9327. Forward port 9338 to the host running P2Pool.

Litecoin's use of ports 9333 and 9332 conflicts with P2Pool running on the Bitcoin network. To avoid problems, add these lines to litecoin.conf and restart litecoind:

rpcport=10332
port=10333

Sponsors:

Thanks to:

  • The Bitcoin Foundation for its generous support of P2Pool
  • The Litecoin Project for its generous donations to P2Pool

License:

Available here