This is the fork for a Decred-only P2Pool development
- Fork P2Pool - find the best upgraded fork <-- done
- Re-work Blake-256 python C module (pyd) <-- done but should be retested - using python also
- Build for Linux
- Build for VS-2015
- Adapt P2PPool:
- dcrd parameters, settings <- mostly done
- update p2p code <- mostly done
- blake256 hashing <- mostly done
- rebuild merkles <- mostly done
- new rpc code <- mostly done
- python setup
- Test Pool:
- Add pool worker(s)
- Manage pool worker(s)
- Remove pool worker(s)
- Remove other coins from the code
- mostly litecoin and other scrypt specific ones.
Rebuild dcrd with the rpcserver.go in this repo above - this enables getblocktemplate
command required by p2pool
dcrd --debuglevel=debug --testnet --miningaddr=TscoEFWZjuWEqVPNGGzM9X3Pa8iXHk6jgYg
run_p2pool --debug --testnet --address=TscoEFWZjuWEqVPNGGzM9X3Pa8iXHk6jgYg
=====================================================
Generic:
- Bitcoin >=0.8.5
- 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:
- Install Python 2.7: http://www.python.org/getit/
- Install Twisted: http://twistedmatrix.com/trac/wiki/Downloads
- Install Zope.Interface: http://pypi.python.org/pypi/zope.interface/3.8.0
- Install python win32 api: http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/
- Install python win32 api wmi wrapper: https://pypi.python.org/pypi/WMI/#downloads
- Unzip the files into C:\Python27\Lib\site-packages
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
1HNeqi3pJRNvXybNX4FKzZgYJsdTSqJTbk
https://en.bitcoin.it/wiki/P2Pool
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):
- Install MinGW: http://www.mingw.org/wiki/Getting_Started
- Install Python 2.7: http://www.python.org/getit/
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
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
Thanks to:
- The Bitcoin Foundation for its generous support of P2Pool
- The Litecoin Project for its generous donations to P2Pool