To use P2Pool, you must be running your own local defcoind. It takes a while to sync so get that started first.
Generic:
NOTE: IF USING UBUNTU, USE 16 OR 18. Starting with 20 they removed some of the libs from global, and i was seeing instability with 20 (but that could have just been me). Just a note to make your life easier.
Linux:
Windows:
You can run a "private" node to connect your miner(s) to or a public pool.
Configuration: Edit p2pool/networks/defcoin.py by uncommenting WORKER_PORT and BOOTSTRAP_ADDRS for the type of node you want to run. The 3 pool types are as follows. Take note that these hash ranges are an early division and may be modified (feedback welcome).
Now that it is configured, a few definitions for clarity:
FYI you can get defcoin addr with defcoin-cli listreceivedbyaddress 0 true
Run for additional options.
python run_p2pool.py --help
Example commands for running your miners:
For standard configurations, using P2Pool should be as simple as:
python run_p2pool.py --net defcoin -a YOURADDR -n YOUR_LOCAL_IP --bitcoind-p2p-port 10332
If mining from the pool computer, run your miner program, connecting to 127.0.0.1 on port MININGPORT with USERNAME and any password (x is used commonly).
If mining from another local source, run your miner program, connecting YOUR_LOCAL_IP on port MININGPORT with USERNAME and any password (x is used commonly). Probably need to open firewall on pool computer to MININGPORT.
For standard configurations, using P2Pool should be as simple as:
python run_p2pool.py --net defcoin -a YOURADDR -n YOUR_PUBLIC_IP --bitcoind-p2p-port 10332
Connecting your miners to YOUR_PUBLIC_IP on port MININGPORT with USERNAME and any password (x is used commonly).
Probably need to open firewall on pool computer to MININGPORT.
If you are behind a NAT, you should enable TCP port forwarding on your router. Forward port MININGPORT to the host running P2Pool.
NOTE: Past experience showed need of opening of ports MININGPORT, 1335, 1337, 10332. All 4 might not need to be open thus this note instead of a firewall rules/port forwarding section, and being listed in todo.
https://en.bitcoin.it/wiki/P2Pool
cd ..
mv web-static web-static.old
git clone https://github.com/justino/p2pool-ui-punchy web-static
mv web-static.old web-static/legacy
cd web-static
git clone https://github.com/hardcpp/P2PoolExtendedFrontEnd ext
There are multiple alt frontends out there to choose from.
Prepare Defcoin core and edit the config file:
connect=129.2.164.234:1337
connect=107.191.119.170:1337
connect=199.204.211.87:1337
connect=104.37.196.137:1337
connect=137.117.89.23:1337
rpcuser=xxx
rpcpassword=xxx
rpcallowip=127.0.0.1
daemon=1
server=1
listen=1
maxconnections=64
port=10332
rpcport=1335
In order to run P2Pool with the Defcoin network, you would need to build and install the dfc_scrypt module that includes the scrypt proof of work code that Defcoin uses for hashes.
Linux:
cd litecoin_scrypt
sudo python setup.py install
Windows (mingw):
In bash type this:
cd defcoin_scrypt
C:\Python27\python.exe setup.py build --compile=mingw32 install
Windows (Microsoft Visual C++)
In bash type this:
SET VS90COMNTOOLS=%VS110COMNTOOLS% # For visual c++ 2012
SET VS90COMNTOOLS=%VS100COMNTOOLS% # For visual c++ 2010
cd defcoin_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
Tested on Ubuntu 16 and 18