Skip to content

devwarrior777/p2pool-decred

 
 

Repository files navigation


Decred P2Pool

This is the fork for a Decred-only P2Pool development


TBD:

  • 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.

To run:

Rebuild dcrd with the rpcserver.go in this repo above - this enables getblocktemplate command required by p2pool

Start DCRD with:

dcrd --debuglevel=debug --testnet --miningaddr=TscoEFWZjuWEqVPNGGzM9X3Pa8iXHk6jgYg

Start p2pool with:

run_p2pool --debug --testnet --address=TscoEFWZjuWEqVPNGGzM9X3Pa8iXHk6jgYg

=====================================================

Original P2Pool README:

Requirements:

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:

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

About

Peer-to-peer Decred-only mining pool

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 79.6%
  • Go 16.6%
  • HTML 3.4%
  • Other 0.4%