Skip to content
forked from p2pool/p2pool

Peer-to-peer Bitcoin mining pool with sub pool share counter

License

Notifications You must be signed in to change notification settings

SerafinTech/p2pool

 
 

Repository files navigation

P2PMining P2Pool Version:

Info:

Summary: P2Pool version that logs user name and shares to database to allow distribution of rewards to a pool of smaller miners that may not have the mining power to get a share on the p2pool chain without a lot of variance.

Current version is barely usable and untested. Wallet mangement will be handled by the walletManager repo (Not yet built).

Current Version Features:

  • Builds tables automatically
  • Miner difficulty is determined per miner and is a whole number and is a power of 2
  • Rewards are PPLNS
  • Logs if a miner finds a block or share
  • Bitcoin only for now

Planned Features:

  • Multiple Currencies (Not Implemented)
  • Merged Mining (Not Implemented)
  • Multiple Reward Methods (Not Implemented)
  • Share Post Processing
  • Miner Statistics Processing (Not Implemented)
  • Automatically Builds Database

Additional Requirements:

Generic:

  • MySQL Connector/Python >=1.1
  • MySQL >=4.1

Linux:

  • sudo apt-get install mysql-server
  • sudo apt-get install python-mysql.connector

Running P2PMining:

Configure:

  • edit p2pool/p2pmining/configure.py
  • start p2pool: python run_p2pool.py

Donations have been set to zero. No additional parameters need to be added.

P2Pool:

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 front end :

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 9332 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

About

Peer-to-peer Bitcoin mining pool with sub pool share counter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.9%
  • C 2.1%