Windows binary: http://u.forre.st/u/obkyymtw/p2pool_win32_3.1.zip
Source zipball: https://github.com/forrestv/p2pool/zipball/3.1
Source tarball: https://github.com/forrestv/p2pool/tarball/3.1
P2Pool is a decentralized pool that works by creating a P2P network of miner nodes. These nodes work on a chain of shares similar to Bitcoin's blockchain. Each node works on a block that includes payouts to the previous shares' owners and the node itself. There is no central point of failure, making it DoS resistant.
Related:
P2Pool stats page, made by twmz: http://p2pool.info/
P2Pool subsidies - Several people are donating to all people using P2Pool in order to promote its decentralized nature - https://bitcointalk.org/index.php?topic=57027.0
P2Pool sub-pool - p2pmining.com - A subpool of P2Pool that gives out difficulty-1 shares, lowering variance for small miners - https://bitcointalk.org/index.php?topic=66202.0
All time:

More graphs: http://forre.st:9332/
P2Pool wiki page | GitHub project page
New: Mailing list for urgent news (updates, bugs): http://groups.google.com/group/p2pool-notifications
List of all blocks found: http://blockexplorer.com/address/1Kz5QaUPDtKrj5SqW5tFkn7WZh8LmQaQi4
Getting P2Pool
- Run bitcoin with the RPC interface enabled - see the next section for instructions on how to do this
- Download p2pool: (see links at top for binaries!)
- git: git clone git://github.com/forrestv/p2pool.git
- Run p2pool:
- Windows py2exe: run_p2pool.exe
- Source: python run_p2pool.py
- Run a miner daemon (see https://en.bitcoin.it/wiki/P2Pool#Miners ) with long polling connecting to 127.0.0.1 on port 9332 with any username and password
- With all miners, using a high FPS target (30?) or a low intensity (7?) helps a lot with reducing stales.
HOWTO: Bitcoin server mode
You must be running the Bitcoin client, and it must have its RPC interface enabled.
Open the Bitcoin data folder. See https://en.bitcoin.it/wiki/Data_directory
Make a new file named bitcoin.conf (not bitcoin.conf.txt! You might have to go into Control Panel > Appearance and Personalization > Folder Options > View and uncheck 'Hide extensions for known file types'). Paste this into it:
rpcpassword=<A LONG RANDOM PASSWORD THAT YOU DON'T HAVE TO REMEMBER>
server=1
Dependencies for running from source:
- Bitcoin 0.5.0 or higher
- Python 2.5 or higher
- python-argparse for Python 2.6 and lower
- Twisted (Ubuntu package python-twisted)
Additional options of interest:
-w PORT: Listen for workers on a port other than 9332.
-a BITCOIN_ADDRESS: Mine to this address instead of requesting one from Bitcoin.
Last, forward port 9333 through your firewall to the host running p2pool! (Oh, and join #p2pool on freenode!)



