Decentralized pool for Monero mining

Overview

Monero P2Pool

Decentralized pool for Monero mining.

NOTE This is a highly experimental and untested software. I did some extensive testing locally, but there's zero guarantee it will work for you! It requires a custom monerod version and a specially configured Monero wallet (for now). No binaries or usage instructions are provided yet. Testing on testnet will start soon! No ETA on the official release date, but hopefully before the end of September 2021.

Features

  • Decentralized: no central server that can be shutdown/blocked. P2Pool uses a separate blockchain to merge mine with Monero. Pool admin can't go rogue or be pressured to do an attack on the network because there is no pool admin!
  • Permissionless: there is no one to decide who can mine on the pool and who can't.
  • Trustless: there is no pool wallet, funds are never in custody. All pool blocks pay out to miners immediately.
  • PPLNS payout scheme
  • 0% fee
  • 0 XMR payout fee
  • Less than 0.0005 XMR minimal payout
  • Fast block times, down to 1 second
  • Uncle blocks are supported to avoid orphans - all your shares will be accounted for!
  • Configurable PPLNS window size and block time
  • Advanced mempool picking algorithm, it creates blocks with better reward than what monerod solo mining does
  • Password protected private pools

How PPLNS works in P2Pool

First you need to find a pool share. This share will stay in PPLNS window for 2160 pool blocks (6 hours). The moment P2Pool finds a Monero block and you have at least 1 pool share in PPLNS window, you'll get a payout! Monero block reward is split between all miner wallets in PPLNS window. Each miner gets a part of block reward proportional to the total difficulty of his/her shares in PPLNS window.

NOTE If P2Pool doesn't have enough hashrate to find Monero blocks faster than every 6 hours on average (~15 MH/s), not all pool shares will result in a payout. But in the long run, your payouts will average out to what you'd get with regular pool mining.

Default P2Pool parameters

  • Block time: 10 seconds
  • PPLNS window: 2160 blocks (6 hours)
  • Minimum payout = Monero block reward/2160, currently ~0.0004 XMR

Build instructions

Ubuntu 20.04

p2pool binary:

sudo apt update && sudo apt install git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev
git clone https://github.com/SChernykh/p2pool
cd p2pool
mkdir build && cd build
cmake ..
make -j$(nproc)

monerod binary compatible with p2pool:

sudo apt update && sudo apt install git build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev libsodium-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev libpgm-dev qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev libprotobuf-dev protobuf-compiler libudev-dev libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev libboost-locale-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev ccache doxygen graphviz
git clone https://github.com/SChernykh/monero
cd monero
git checkout zmq-changes
git submodule init && git submodule update
make -j$(nproc)

How to test

SOON

Donations

If you'd like to support further development of Monero P2Pool, you're welcome to send any amount of XMR to the following address:

44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg
Comments
  • No payouts for 2 days

    No payouts for 2 days

    I was receiving payouts every 40-60 minutes , but nothing at all for the past two days.

    Daemon is running and is in sync p2pool is running xmrig is running

    I even have BLOCK FOUND message in p2pool output. But no actual reward, no payout.

    image

    Please help me troubleshoot this

    opened by vmajor 20
  • sometimes blocks don't accounted

    sometimes blocks don't accounted

    Hello. @ 1st, thanks for this project! I began mining and suddenly noticed that not all blocks were registered and payed out. For ex this block @ height 2480250 doesn't exist in https://p2pool.observer/ 's stats, but does here: https://p2pool.io/#blocks image image As you can see the block '2480250' doesn't exist nor at global stats nor at my address page: image

    So @ 1st I pressed F5 and still couldn't see any changes. Then I checked my balance out, same sh...t. It's so strange because I had a share of that block and it was really mined and wasn't marked as orphan or uncle:

    NOTICE  2021-10-27 15:26:12.6607 StratumServer SHARE FOUND: mainchain height 2480208, diff 551164384, client 127.0.0.1:58315 user Ryzen, effort 53.382%
    NOTICE  2021-10-27 16:18:02.3482 SideChain add_external_block: block 3612824a619dadb714c0f27c648837be8ee7cf4580b4d8cf100677e9a05957d0 has enough PoW for Monero network, submitting it
    NOTICE  2021-10-27 16:18:02.3482 P2Pool submit_block: height = 2480229, external blob (3289 bytes)
    NOTICE  2021-10-27 16:18:02.4732 P2Pool BLOCK FOUND: main chain block at height 2480229 was mined by this p2pool
    -----------------------------------------------------------------------------------------------
    | ######   #        #######   #####   #    #      #######  #######  #     #  #     #  ######  |
    | #     #  #        #     #  #     #  #   #       #        #     #  #     #  ##    #  #     # |
    | #     #  #        #     #  #        #  #        #        #     #  #     #  # #   #  #     # |
    | ######   #        #     #  #        ###         #####    #     #  #     #  #  #  #  #     # |
    | #     #  #        #     #  #        #  #        #        #     #  #     #  #   # #  #     # |
    | #     #  #        #     #  #     #  #   #       #        #     #  #     #  #    ##  #     # |
    | ######   #######  #######   #####   #    #      #        #######   #####   #     #  ######  |
    -----------------------------------------------------------------------------------------------
    NOTICE  2021-10-27 16:18:03.6607 P2Pool submit_block: BLOCK ACCEPTED at height 2480229 and difficulty = 324788464698
    NOTICE  2021-10-27 16:58:10.5513 SideChain add_external_block: block 1b9a158606234ea69bf93b4c9b8226cc3e2aebaab476d4e2e27f106c400bfa12 has enough PoW for Monero network, submitting it
    NOTICE  2021-10-27 16:58:10.5513 P2Pool submit_block: height = 2480250, external blob (5301 bytes)
    NOTICE  2021-10-27 16:58:11.5669 P2Pool BLOCK FOUND: main chain block at height 2480250 was mined by this p2pool
    -----------------------------------------------------------------------------------------------
    | ######   #        #######   #####   #    #      #######  #######  #     #  #     #  ######  |
    | #     #  #        #     #  #     #  #   #       #        #     #  #     #  ##    #  #     # |
    | #     #  #        #     #  #        #  #        #        #     #  #     #  # #   #  #     # |
    | ######   #        #     #  #        ###         #####    #     #  #     #  #  #  #  #     # |
    | #     #  #        #     #  #        #  #        #        #     #  #     #  #   # #  #     # |
    | #     #  #        #     #  #     #  #   #       #        #     #  #     #  #    ##  #     # |
    | ######   #######  #######   #####   #    #      #        #######   #####   #     #  ######  |
    -----------------------------------------------------------------------------------------------
    NOTICE  2021-10-27 16:58:12.8794 P2Pool submit_block: BLOCK ACCEPTED at height 2480250 and difficulty = 325161736360
    NOTICE  2021-10-27 17:36:34.7349 SideChain status
    Main chain height         = 2480270
    Main chain hashrate       = 2.719 GH/s
    Side chain height         = 480113
    Side chain hashrate       = 53.109 MH/s
    Your hashrate (pool-side) = 23.882 KH/s
    PPLNS window              = 2160 blocks (+65 uncles, 5 orphans)
    Your shares               = 1 blocks (+0 uncles, 0 orphans)
    Your shares position      = [..........1...................]
    

    (sorry i couldn't post this on time due to technical issues with this platform and I can't find a spoiler tag here) As you can see only one share is in pplns that was found @ 2021-10-27 15:26:12.6607, but only one block at height 2480229 was payed out, and next block at height 2480250 was ignored though my pplns-window is still opened. Can you explain what happened? I've been watching my stats with p2pool for last two weeks every day and didn't notice such things... By the way there were several missed blocks at that time. So it could have been more than once. Thanks, i really appreciate your work!

    opened by tywkah 18
  • p2pool stops processing

    p2pool stops processing

    I am running Seth's docker containers as per his guide and have this morning updated the docker images to the latest available and restarted both the monero and the p2pool containers.

    Unfortunately now it seems that p2pool starts and then just stops. Last message in the p2pool log says:

    P2Pool get_miner_data RPC response is invalid, skipping it 
    

    Xmrig can't connect to p2pool and asking for a status from p2pool shows:

    2021-09-21 20:11:54.5566 SideChain status
    Main chain height         = 0
    Main chain hashrate       = 0 H/s
    Side chain height         = 1
    Side chain hashrate       = 10.000 KH/s
    PPLNS window              = 0 blocks (+0 uncles, 0 orphans)
    Your shares               = 0 blocks (+0 uncles, 0 orphans)
    Block reward share        = 0.000% (0.000000000000 XMR)
    2021-09-21 20:11:54.5566 Util no background jobs running
    

    Monerod seems to be running ok, syncing with the monero network and monero cli wallets connected to the node work as expected.

    What else can I do to trouble shoot?

    opened by marvin8 16
  • Ubuntu Compile Errors

    Ubuntu Compile Errors

    Please help ! `CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: UV_LIBRARY linked by target "p2pool" in directory /home/f/a/monero/p2pool UV_LIBRARY_DEBUG linked by target "p2pool" in directory /home/f/a/monero/p2pool ZMQ_LIBRARY linked by target "p2pool" in directory /home/f/a/monero/p2pool ZMQ_LIBRARY_DEBUG linked by target "p2pool" in directory /home/f/a/monero/p2pool

    -- Configuring incomplete, errors occurred! `

    opened by gaga9999 14
  • [BUG] cant compile p2pool in termux

    [BUG] cant compile p2pool in termux

    basically i wanna mine some moneronies on my phone. since my phone is pretty much doing nothing piling dust so i thought to mine some XMR

    i copy pasted the command everything works untill make -j$(nproc) and it fails

    Phone:Xiaomi redmi note 9 Android: 11 MIUI:12.5.5

    screenshots Screenshot_2022-10-06-19-32-30-517_com termux Screenshot_2022-10-06-19-31-37-254_com termux Screenshot_2022-10-06-19-31-44-006_com termux Screenshot_2022-10-06-19-31-52-656_com termux Screenshot_2022-10-06-19-31-58-362_com termux Screenshot_2022-10-06-19-32-13-493_com termux Screenshot_2022-10-06-19-32-18-186_com termux Screenshot_2022-10-06-19-32-07-403_com termuxng

    opened by fislysandi 12
  • abort on close handle when starting up

    abort on close handle when starting up

    I recently upgraded to V2.2.1 after having good results with multiple previous versions running on MacOS. My ports are opened up (18080 and 37889), double checked, and brew is updated as well. My monerod is running from within the Monero-GUI version 0.18.0.0-release

    When I launch using:

    $ ./p2pool --host 127.0.0.1 --wallet XXXXX

    Get the following output and an abort:

    2022-07-31 19:14:02.9881 Log started 2022-07-31 19:14:02.9892 P2Pool v2.2.1 (built with clang/12.0.5 (clang-1205.0.22.9) on Jul 31 2022) 2022-07-31 19:14:02.9895 SideChain network type = mainnet 2022-07-31 19:14:02.9895 SideChain using default config 2022-07-31 19:14:02.9895 SideChain pool name = default 2022-07-31 19:14:02.9895 SideChain block time = 10 seconds 2022-07-31 19:14:02.9895 SideChain min diff = 100000 2022-07-31 19:14:02.9895 SideChain PPLNS window = 2160 blocks 2022-07-31 19:14:02.9896 SideChain uncle penalty = 20% 2022-07-31 19:14:02.9896 SideChain generating consensus ID 2022-07-31 19:14:02.9896 SideChain consensus ID = 22af7ee7************************************************4407f918 2022-07-31 19:14:03.3361 RandomX_Hasher allocated 2592 MB 2022-07-31 19:14:03.3385 ConsoleCommands event loop started Assertion failed: (!uv__is_closing(handle)), function uv_poll_start, file poll.c, line 126. zsh: abort ./p2pool --host 127.0.0.1 --wallet

    Tried restarting, rebuilding from scratch, etc. With same results.

    Some quick searching indicates this is likely a close of an already closed handle but I haven't sorted out the code as to where that might be happening.

    I didn't have this issue prior to upgrading to V2.2.1 and 0.18.0.0.

    opened by widgetfly 12
  • Unable to mine to p2pool from remote miners

    Unable to mine to p2pool from remote miners

    I started messing around mining crypto about 6 months ago. Mining pools for ethereum, built a rig, have learned a lot already but am still a total noob..

    I recently read some articles on monero and privacy coins in general and became very interested. So I am learning all I can.

    I'm having trouble getting remote miners to mine from my p2pool/monero node

    Monerod version 0.17.3.0-release running on Windows 10 machine. cmd line: monerod --data-dir E:\bitmonero --prune-blockchain --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist

    p2pool on same machine a monerod - Windows 10. p2pool cmd line: p2pool --stratum 0.0.0.0:3333 --host 127.0.0.1 --wallet

    Port forwarding on router: Service Name External Ports Internal Ports Internal IP address p2pool port 37889 37889 192.168.1.27 p2pool inc 18080 18080 192.168.1.27 monerod RPC 18081 18081 192.168.1.27 P2Pool mining 3333 3333 192.168.1.27

    I have three machines on local net that are all mining and I have received a couple of payouts to my wallet so it appears the setup is working, at least locally. cmd line on windows machines (same network): xmrig -u x+84000 -o 192.168.1.27:3333

    I have 10 machines running ubuntu located at a remote site on a LAN that I control. They DO all have access to internet and I can access remotely to configure.

    I get error: MyExtIP:3333 read error: "connection reset by peer" It seems I must use config.json on ubuntu machines otherwise xmrig just says "missing config file".. { "pools": [ { "coin": "monero", "algo": "null", "url": "MyExtIP:3333", "user": "", "pass": "", "tls": false, "keepalive": true, "nicehash": false } ] }

    Any ideas from the experts are welcome - thank in advance!

    opened by treadhead64 12
  • autodiff gave very low-difficulty job

    autodiff gave very low-difficulty job

    I see in the logs that a very low difficulty job was given. Is this some bug in the autodiff code? Here is the information I have:

    XMRig logs:

    [2022-07-04 14:33:43.827]  miner    speed 10s/60s/15m 8050.2 8120.2 7997.2 H/s max 8257.1 H/s
    [2022-07-04 14:33:44.037]  cpu      accepted (1524/0) diff 256385 (0 ms)
    [2022-07-04 14:33:44.416]  net      new job from 23.124.76.211:3333 diff 252140 algo rx/0 height 2659999 (173 tx)
    [2022-07-04 14:33:52.446]  net      new job from 23.124.76.211:3333 diff 252140 algo rx/0 height 2659999 (173 tx)
    [2022-07-04 14:33:54.005]  net      new job from 23.124.76.211:3333 diff 252140 algo rx/0 height 2659999 (168 tx)
    [2022-07-04 14:33:58.572]  net      new job from 23.124.76.211:3333 diff 252140 algo rx/0 height 2659999 (168 tx)
    [2022-07-04 14:34:04.019]  net      new job from 23.124.76.211:3333 diff 252140 algo rx/0 height 2659999 (172 tx)
    [2022-07-04 14:34:07.546]  cpu      accepted (1525/0) diff 252140 (1 ms)
    [2022-07-04 14:34:14.413]  net      new job from 23.124.76.211:3333 diff 1000 algo rx/0 height 2659999 (172 tx)
    [2022-07-04 14:34:14.598]  cpu      accepted (1526/0) diff 1000 (1 ms)
    [2022-07-04 14:34:14.640]  cpu      accepted (1527/0) diff 1000 (0 ms)
    ...
    ...
    [2022-07-04 14:34:25.402]  cpu      accepted (1597/0) diff 1000 (1 ms)
    [2022-07-04 14:34:25.466]  cpu      accepted (1598/0) diff 1000 (1 ms)
    [2022-07-04 14:34:25.484]  net      new job from 23.124.76.211:3333 diff 192005 algo rx/0 height 2660000 (45 tx)
    [2022-07-04 14:34:33.817]  net      new job from 23.124.76.211:3333 diff 192005 algo rx/0 height 2660000 (47 tx)
    [2022-07-04 14:34:38.787]  net      new job from 23.124.76.211:3333 diff 192005 algo rx/0 height 2660000 (47 tx)
    [2022-07-04 14:34:39.153]  net      new job from 23.124.76.211:3333 diff 192005 algo rx/0 height 2660001 (1 tx)
    [2022-07-04 14:34:40.152]  net      new job from 23.124.76.211:3333 diff 192005 algo rx/0 height 2660001 (1 tx)
    [2022-07-04 14:34:43.874]  miner    speed 10s/60s/15m 8049.4 8117.7 8005.5 H/s max 8257.1 H/s
    [2022-07-04 14:34:50.014]  net      new job from 23.124.76.211:3333 diff 192005 algo rx/0 height 2660001 (2 tx)
    [2022-07-04 14:34:52.232]  cpu      accepted (1599/0) diff 192005 (1 ms)
    

    P2Pool logs:

    p2pool-p2pool      | 2022-07-04 14:34:04.0219 BlockTemplate final reward = 0.619559621973 XMR, weight = 300302, outputs = 70, 171 of 198 transactions included
    p2pool-p2pool      | 2022-07-04 14:34:04.0223 StratumServer sent new job to 1/1 clients
    p2pool-p2pool      | 2022-07-04 14:34:14.4074 SideChain add_block: height = 2545299, id = bf9a7ca71cd25a3c37b38026754323c96868d5408bb491eadc0305692aba8a13, mainchain height = 2659999, verified = 0
    p2pool-p2pool      | 2022-07-04 14:34:14.4110 SideChain verified block at height = 2545299, depth = 0, id = bf9a7ca71cd25a3c37b38026754323c96868d5408bb491eadc0305692aba8a13, mainchain height = 2659999
    p2pool-p2pool      | 2022-07-04 14:34:14.4121 SideChain new chain tip: next height = 2545300, next difficulty = 1389040180, main chain height = 2659999
    p2pool-p2pool      | 2022-07-04 14:34:14.4122 BlockTemplate base  reward = 0.600000000000 XMR, 200 transactions, fees = 0.019795370000 XMR, weight = 356340
    p2pool-p2pool      | 2022-07-04 14:34:14.4159 BlockTemplate final reward = 0.619559637973 XMR, weight = 300298, outputs = 70, 171 of 200 transactions included
    p2pool-p2pool      | 2022-07-04 14:34:14.4161 StratumServer sent new job to 1/1 clients
    p2pool-p2pool      | 2022-07-04 14:34:16.7347 SideChain add_block: height = 2545300, id = ba5435af34dbb339051a5eecc25dd980211739c905961c9b5088af48cb0e8205, mainchain height = 2659999, verified = 0
    p2pool-p2pool      | 2022-07-04 14:34:16.7367 SideChain verified block at height = 2545300, depth = 0, id = ba5435af34dbb339051a5eecc25dd980211739c905961c9b5088af48cb0e8205, mainchain height = 2659999
    p2pool-p2pool      | 2022-07-04 14:34:16.7375 SideChain new chain tip: next height = 2545301, next difficulty = 1388345261, main chain height = 2659999
    p2pool-p2pool      | 2022-07-04 14:34:16.7376 BlockTemplate base  reward = 0.600000000000 XMR, 200 transactions, fees = 0.019795370000 XMR, weight = 356340
    p2pool-p2pool      | 2022-07-04 14:34:16.7389 BlockTemplate final reward = 0.619559637973 XMR, weight = 300298, outputs = 70, 171 of 200 transactions included
    p2pool-p2pool      | 2022-07-04 14:34:16.7391 StratumServer sent new job to 1/1 clients
    p2pool-p2pool      | 2022-07-04 14:34:25.4736 P2Pool new miner data
    p2pool-p2pool      | ---------------------------------------------------------------------------------------------------------------
    p2pool-p2pool      | major_version           = 14
    p2pool-p2pool      | height                  = 2660000
    p2pool-p2pool      | prev_id                 = a6c5bc25d536f9d9cae7b9335abbf80b382cf21a9e2f5061dbf54ea4eaad9de8
    p2pool-p2pool      | seed_hash               = 9cfa17830fb15f710e8ddc5d6ebcd340deb857fc33cf2d6950ff4613b034ff2d
    p2pool-p2pool      | difficulty              = 320187164098
    p2pool-p2pool      | median_weight           = 300000
    p2pool-p2pool      | already_generated_coins = 18143197978043650606
    p2pool-p2pool      | transactions            = 46
    p2pool-p2pool      | ---------------------------------------------------------------------------------------------------------------
    p2pool-p2pool      | 2022-07-04 14:34:25.4737 BlockTemplate base  reward = 0.600000000000 XMR, 44 transactions, fees = 0.001242230000 XMR, weight = 70178
    p2pool-p2pool      | 2022-07-04 14:34:25.4739 P2Pool new main chain block: height = 2659999, id = a6c5bc25d536f9d9cae7b9335abbf80b382cf21a9e2f5061dbf54ea4eaad9de8, timestamp = 1656945148, reward = 0.618615510000 XMR
    p2pool-p2pool      | 2022-07-04 14:34:25.4872 BlockTemplate final reward = 0.601242230000 XMR, weight = 72914, outputs = 70, 44 of 44 transactions included
    p2pool-p2pool      | 2022-07-04 14:34:25.4874 StratumServer sent new job to 1/1 clients
    p2pool-p2pool      | 2022-07-04 14:34:33.8108 SideChain add_block: height = 2545301, id = 9d902ec224bf724a0b2e7223158552a61da8973309c042f87827bf3c53005598, mainchain height = 2660000, verified = 0
    
    opened by bladedoyle 11
  • Exception in main! Failed to initialize p2p server.

    Exception in main! Failed to initialize p2p server.

    As a starting position, I have my monero GUI wallet running as a local node. Therefore, the monero deamon is already running. When I issue the command ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist, I have this error Exception in main! Failed to initialize p2p server.

    Can you guide me to overcome this issue?

    $ ps -ef | grep monerod
    user     23885    2330  3 06:18 ?        00:23:45 ~/monero-gui-v0.17.3.1/monerod --detach --check-updates disabled --non-interactive --max-concurrency 16
    user     49949   49942  0 16:43 pts/2    00:00:00 grep --color=auto monerod
    
    $ ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    2022-02-07 08:48:53.019	I Monero 'Oxygen Orion' (v0.17.3.0-release)
    2022-02-07 08:48:53.019	I Initializing cryptonote protocol...
    2022-02-07 08:48:53.019	I Cryptonote protocol initialized OK
    2022-02-07 08:48:53.019	I Initializing core...
    2022-02-07 08:48:53.020	I Loading blockchain from folder ~/.bitmonero/lmdb ...
    2022-02-07 08:48:53.110	I Loading checkpoints
    2022-02-07 08:48:53.110	I Core initialized OK
    2022-02-07 08:48:53.110	I Initializing p2p server...
    2022-02-07 08:48:53.118	F Error starting server: Failed to bind IPv4 (set to required)
    2022-02-07 08:48:53.120	I Deinitializing core...
    2022-02-07 08:48:53.148	I Stopping cryptonote protocol...
    2022-02-07 08:48:53.148	I Cryptonote protocol stopped successfully
    2022-02-07 08:48:53.148	E Exception in main! Failed to initialize p2p server.
    
    opened by sunbearc22 11
  • to the creator

    to the creator

    Seth, I have been watching the ins and outs of the mining and logs etc. I have come to the conclusion that you are cheating me out of the blocks my computer has found. And not just one but the latest was number ending in #####. Thats not fare that you cheat me out of my legitim finds while mining on your pool. Quite frankly I don't care that you all in the pool business cheat people, but you have made it very clear that this pool isn't like that when indeed it is. Pay me for all the blocks I have found its only fare. Yes, I sat and watched this for the last 12 hours or so since I logged in to your pool again this morning for the second time this month. Greed is a bad virus...and it appears you caught that virus...please pay me the blocks my computer has found

    opened by bullocksedwardo 11
  • StratumServer client: invalid JSON request ('id' field not found)

    StratumServer client: invalid JSON request ('id' field not found)

    When trying to add p2pool to a rig on miningrigrentals.com I am getting: "StratumServer client: invalid JSON request ('id' field not found)"

    When going through xmrig-proxy it connects but jobs are issued with a very high diff ~ 390976 for a 12kh/s worker but on the miner side share diff is being reported as < 14 diff and hash rate stays < 500h/s

    Trying it on a higher hash miner rig with multiple workers the rig reports "Invalid job parameters" and never starts with share diff reported on the miner side as 1.

    I have tried --light-mode with same result. Are these incompatibilities with the p2pool stratum server?

    It works OK with other pools. thanks.

    opened by xmrvsbeast 11
  • Version 2.6 MacOS binary not backward compatible

    Version 2.6 MacOS binary not backward compatible

    Using Monero GUI 18.1.2 on MacOS 10.15.1. Replaced old p2pool binary downloaded by GUI with new P2Pool 2.6 MacOS bundle. Now P2Pool mining won't start. Tried starting manually from /Applications/monero-wallet-gui.app/Contents/MacOS

    % ./p2pool --host 127.0.0.1 --wallet XXXXXX 2022-12-02 00:14:36.4508 Log started 2022-12-02 00:14:36.4514 P2Pool v2.6 (built with clang/13.0.0 (clang-1300.0.29.30) on Nov 28 2022) 2022-12-02 00:14:36.4518 SideChain network type = mainnet 2022-12-02 00:14:36.4518 SideChain using default config 2022-12-02 00:14:36.4518 SideChain pool name = default 2022-12-02 00:14:36.4518 SideChain block time = 10 seconds 2022-12-02 00:14:36.4518 SideChain min diff = 100000 2022-12-02 00:14:36.4518 SideChain PPLNS window = 2160 blocks 2022-12-02 00:14:36.4518 SideChain uncle penalty = 20% 2022-12-02 00:14:36.4518 SideChain generating consensus ID 2022-12-02 00:14:36.4518 SideChain consensus ID = 22af7ee7************************************************4407f918 dyld: lazy symbol binding failed: Symbol not found: _pthread_jit_write_protect_np Referenced from: /Applications/monero-wallet-gui.app/Contents/MacOS/./p2pool (which was built for Mac OS X 11.7) Expected in: /usr/lib/libSystem.B.dylib

    dyld: Symbol not found: _pthread_jit_write_protect_np Referenced from: /Applications/monero-wallet-gui.app/Contents/MacOS/./p2pool (which was built for Mac OS X 11.7) Expected in: /usr/lib/libSystem.B.dylib

    zsh: abort ./p2pool --host 127.0.0.1 --wallet

    opened by vincente666 1
  • p2pool seems to be causing monerod to fall out of sync and never catch up

    p2pool seems to be causing monerod to fall out of sync and never catch up

    Not really sure what's causing this, but it happens occasionally after the 0.18 update. I will wake up and p2pool is complaining about monerod being out of sync. I shut down p2pool and then monerod will catch up no problem.

    opened by snex 12
  • TOR support

    TOR support

    Integrated TOR support may be an important feature for the privacy-conscious Monero community. This would include connecting to peers through the socks5 TOR proxy, running a p2pool node as a hidden service and advertising its .onion address to peers. Similarly, I2P support can be considered, but this might better be addressed in a separate issue.

    enhancement 
    opened by Scalena 2
  • Compile time option for a forced data directory change

    Compile time option for a forced data directory change

    In Monero flatpak, P2Pool exists in /app/bin and tries to create files there. I would like to make sure that at the build stage it is possible to be forcibly replaced by this directory and not use --data-dir.

    opened by BigmenPixel0 3
  • ARM Cortex A-53 / 72 errata mitigations

    ARM Cortex A-53 / 72 errata mitigations

    Applicable to all ARM A-53 single board computers but primarily targeted at Raspberry Pi 3&4 users as those will be the most numerous:

    There are known faults at the chip level with ARM Cortex A-53, as per the Arm Developer errata notice developer.arm.com/documentation where:

    835769: AArch64 multiply-accumulate instruction might produce incorrect result (page 20 of that document) and 843419: A load or store might access an incorrect address (page 22)

    To mitigate for this gcc has additional build flags:

    https://gcc.gnu.org/onlinedocs/gcc.pdf (Page 315)

    -mfix-cortex-a53-835769 -mno-fix-cortex-a53-835769 Enable or disable the workaround for the ARM Cortex-A53 erratum number 835769. This involves inserting a NOP instruction between memory instructions and 64-bit integer multiply-accumulate instructions.

    -mfix-cortex-a53-843419 -mno-fix-cortex-a53-843419 Enable or disable the workaround for the ARM Cortex-A53 erratum number 843419. This erratum workaround is made at link time and this will only pass the corresponding flag to the linker.

    Which Monero implemented:

    monero-project/monero/commit/cf10e05cc6a0ed495dbdd44ec3a76b964b14edba

    And can be seen working/triggered as during build.

    Is this applicable through any of the pools verification functions?

    opened by shermand100 3
Releases(v2.6)
  • v2.6(Nov 28, 2022)

    P2Pool v2.6

    Changes:

    • New compact share broadcast format: 4x reduction in broadcast size to increase broadcast efficiency and reduce uncle block percentage
    • Stricter checking of sidechain shares: invalid timestamps or shares mined on top of outdated Monero blocks will be ignored
    • Ignore shares from peers who have lagging monerod
    • Show wallet address in error messages and status
    • Block template is now updated automatically if there were no shares in the last 30 seconds, to keep Stratum connections alive and get new transactions in the template
    • Fixed mouse wheel scrolling on Windows
    • Console commands: check for arguments when required and display help if a command is used incorrectly

    Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    It is strongly recommended to synchronize your system clock before you start mining!

    Recommended monerod command line parameters:

    ./monerod --zmq-pub tcp://127.0.0.1:18083 --out-peers 64 --in-peers 32 --add-priority-node=node.supportxmr.com:18080 --add-priority-node=nodes.hashvault.pro:18080 --disable-dns-checkpoints --enable-dns-blocklist
    

    --out-peers 64 --in-peers 32 is needed to (1) have many connections to other nodes and (2) limit incoming connection count because it can grow uncontrollably and cause problems when it goes above 1000 (open files limit in Linux). If your network connection's upload bandwidth is less than 10 Mbit, use --out-peers 16 --in-peers 8 instead.

    --add-priority-node=node.supportxmr.com:18080 --add-priority-node=nodes.hashvault.pro:18080 is needed to have guaranteed good working nodes in your connected peers.

    --disable-dns-checkpoints is needed to avoid periodical lags when DNS is updated (it's not needed when mining) --enable-dns-blocklist is needed to ban known bad nodes

    Usage:

    • Run Monero daemon v0.18.1.2 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --out-peers 64 --in-peers 32 --add-priority-node=node.supportxmr.com:18080 --add-priority-node=nodes.hashvault.pro:18080 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.6-freebsd-x64.tar.gz(912.97 KB)
    p2pool-v2.6-linux-aarch64.tar.gz(1.28 MB)
    p2pool-v2.6-linux-x64.tar.gz(1.25 MB)
    p2pool-v2.6-macos-x64.tar.gz(919.87 KB)
    p2pool-v2.6-windows-x64.zip(917.18 KB)
    sha256sums.txt.asc(1.54 KB)
  • v2.5(Oct 31, 2022)

    P2Pool v2.5

    Changes:

    • Significantly reduced memory usage (down to 50-60 MB on main, 120-140 MB on mini chain with --no-randomx --no-cache)
    • Added --p2p-external-port command line parameter
    • Added a workaround to avoid duplicate sidechain IDs on different P2Pool nodes mining to the same wallet
    • Fix: api didn't always save total hashes
    • Fix: data race during shutdown

    Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.18.0.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.5-freebsd-x64.tar.gz(887.28 KB)
    p2pool-v2.5-linux-aarch64.tar.gz(1.27 MB)
    p2pool-v2.5-linux-x64.tar.gz(1.23 MB)
    p2pool-v2.5-macos-x64.tar.gz(887.57 KB)
    p2pool-v2.5-windows-x64.zip(901.94 KB)
    sha256sums.txt.asc(1.54 KB)
  • v2.4(Sep 30, 2022)

    P2Pool v2.4

    Changes:

    • Added SOCKS5 proxy support
    • Added --no-dns command line parameter to disable DNS queries
    • Faster initial syncing (P2Pool now selects a peer with lowest ping to sync from)
    • Fixed incorrect incoming connection counter in some cases
    • Fixed aarch64 build incompatibility with some older OS
    • A few other small bugfixes

    Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.18.0.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.4-freebsd-x64.tar.gz(884.88 KB)
    p2pool-v2.4-linux-aarch64.tar.gz(1.27 MB)
    p2pool-v2.4-linux-x64.tar.gz(1.23 MB)
    p2pool-v2.4-macos-x64.tar.gz(886.06 KB)
    p2pool-v2.4-windows-x64.zip(901.36 KB)
    sha256sums.txt.asc(1.54 KB)
  • v2.3(Aug 30, 2022)

    P2Pool v2.3

    Changes:

    • Stratum server: added scoring system for clients: ban clients only after several bad shares in a row.
    • Optimized startup syncing
    • Optimized processing of new broadcasted pool blocks
    • API: update files atomically to guarantee that they always have correct and full data
    • Fixed a startup crash of self-compiled p2pool binaries on MacOS
    • Fixed potential deadlock when using built-in miner
    • Fixed processing of long console commands
    • Made various error and warning messages more informative

    Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.18.0.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.3-freebsd-x64.tar.gz(878.55 KB)
    p2pool-v2.3-linux-aarch64.tar.gz(1.26 MB)
    p2pool-v2.3-linux-x64.tar.gz(1.21 MB)
    p2pool-v2.3-macos-x64.tar.gz(869.08 KB)
    p2pool-v2.3-windows-x64.zip(904.14 KB)
    sha256sums.txt.asc(1.54 KB)
  • v2.2.1(Jul 8, 2022)

    P2Pool v2.2.1 (bugfix release)

    This version is required for the coming Monero v15 network upgrade. Older p2pool releases will be incompatible after that.

    Changes:

    • #188 Fixed 100% CPU load on one core after running for a while
    • #182 Fixed autodiff gave very low-difficulty job
    • #183 Fixed p2pool hangs if monerod is not running
    • #187 Fixed Enable console commands processing only when console is available
    • Fixed various crashes during P2Pool shutdown

    Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.18.0.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.2.1-freebsd-x64.tar.gz(865.57 KB)
    p2pool-v2.2.1-linux-aarch64.tar.gz(1.23 MB)
    p2pool-v2.2.1-linux-x64.tar.gz(1.19 MB)
    p2pool-v2.2.1-macos-x64.tar.gz(874.73 KB)
    p2pool-v2.2.1-windows-x64.zip(881.57 KB)
    sha256sums.txt.asc(1.55 KB)
  • v2.2(Jun 30, 2022)

    P2Pool v2.2

    This version is required for the coming Monero v15 network upgrade. Older p2pool releases will be incompatible after that.

    Changes:

    • Enforce deterministic tx keys starting from Monero v15
    • Added support for --rpc-login monerod parameter (password protected RPC connection). P2Pool can now use the same --rpc-login parameter to connect to password protected monerod
    • Limited auto difficulty to 4,000,000 for maximum compatibility
    • Fixed rare "low diff share" errors
    • Built-in miner: display shares found in status
    • Various other small bug fixes and stability improvements

    Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.2 (v0.18.0.0 to be ready for the v15 network upgrade): ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.2-freebsd-x64.tar.gz(863.22 KB)
    p2pool-v2.2-linux-aarch64.tar.gz(1.23 MB)
    p2pool-v2.2-linux-x64.tar.gz(1.19 MB)
    p2pool-v2.2-macos-x64.tar.gz(873.53 KB)
    p2pool-v2.2-windows-x64.zip(878.85 KB)
    sha256sums.txt.asc(1.54 KB)
  • v2.1(May 31, 2022)

    P2Pool v2.1

    Changes:

    • Stratum server now uses automatic difficulty adjustment by default. Use --no-autodiff command line option to disable it.
    • Added console command workers to show miners connected to the stratum server
    • Made handling of internet outages more robust. P2Pool can now fully restore after long-lasting outages
    • Stratum sever doesn't ban localhost anymore (for example, xmrig-proxy running on the same machine)
    • Added "SYNCHRONIZED" log message when the initial sync completes
    • Fixed executable stack in Linux binary
    • Added block reward share percent to miner api
    • Various other small bug fixes and stability improvements

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • Monero.com by Cake Wallet
    • Feather Wallet v1.0.0 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.1-freebsd-x64.tar.gz(769.59 KB)
    p2pool-v2.1-linux-aarch64.tar.gz(1.34 MB)
    p2pool-v2.1-linux-x64.tar.gz(1.09 MB)
    p2pool-v2.1-macos-x64.tar.gz(784.20 KB)
    p2pool-v2.1-windows-x64.zip(774.51 KB)
    sha256sums.txt.asc(1.54 KB)
  • v2.0(Apr 30, 2022)

    P2Pool v2.0

    Changes:

    • Support for the upcoming Monero network upgrade (July 16th, 2022 - block 2,668,888)
    • Added FreeBSD build
    • Ban peers with stuck or lagging monerod
    • Various small bugfixes (fixed issues found by TSan and UBSan)

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • Monero.com by Cake Wallet
    • Feather Wallet v1.0.0 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v2.0-freebsd-x64.tar.gz(765.78 KB)
    p2pool-v2.0-linux-aarch64.tar.gz(1.35 MB)
    p2pool-v2.0-linux-x64.tar.gz(1.08 MB)
    p2pool-v2.0-macos-x64.tar.gz(777.58 KB)
    p2pool-v2.0-windows-x64.zip(768.52 KB)
    sha256sums.txt.asc(1.54 KB)
  • v1.9(Mar 30, 2022)

    P2Pool v1.9

    Critical bug fixed in this version, see below

    Changes:

    • Fixed block template generation bug: a node could mine a share that didn't pass validation on other nodes resulting in all other nodes banning it. Nodes with high hashrate are the most affected because they mine a lot of shares.
    • Fixed several bugs that can happen when system time changes
    • Improved p2pool.cache efficiency
    • status command shows sidechain name now (default, mini or custom ID)

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • Monero.com by Cake Wallet
    • Feather Wallet v1.0.0 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.9-linux-aarch64.tar.gz(1.34 MB)
    p2pool-v1.9-linux-x64.tar.gz(1.08 MB)
    p2pool-v1.9-macos-x64.tar.gz(767.90 KB)
    p2pool-v1.9-windows-x64.zip(765.25 KB)
    sha256sums.txt.asc(1.40 KB)
  • v1.8(Feb 27, 2022)

    P2Pool v1.8

    Recommended update!

    Changes:

    • MacOS build: libuv and libzmq are linked statically now to improve compatibility
    • Stricter P2P protocol checks to detect misbehaving P2Pool nodes
    • Reduced overall memory usage
    • P2Pool now uses monerod peers to find other P2Pool nodes when regular methods fail (more reliable syncing)
    • Stratum share counters get reset after initial sync to avoid confusion
    • Better checking for errors in command line parameters
    • Added bans console command to list currently banned IPs
    • Various small bugfixes
    • Updated README

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • Monero.com by Cake Wallet
    • Feather Wallet v1.0.0 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.8-linux-aarch64.tar.gz(1.34 MB)
    p2pool-v1.8-linux-x64.tar.gz(1.08 MB)
    p2pool-v1.8-macos-x64.tar.gz(765.20 KB)
    p2pool-v1.8-windows-x64.zip(764.99 KB)
    sha256sums.txt.asc(1.40 KB)
  • v1.7(Feb 14, 2022)

    P2Pool v1.7

    Changes:

    • Display payout amount when a block is found if there are shares in PPLNS window
    • StratumServer: disconnect and ban inactive clients
    • Added --mini command line option to connect to p2pool-mini

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • Feather Wallet v1.0.0 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.7-linux-aarch64.tar.gz(1.33 MB)
    p2pool-v1.7-linux-x64.tar.gz(1.07 MB)
    p2pool-v1.7-macos-x64.tar.gz(494.46 KB)
    p2pool-v1.7-windows-x64.zip(756.70 KB)
    sha256sums.txt.asc(1.40 KB)
  • v1.6(Jan 26, 2022)

    P2Pool v1.6

    Changes:

    • Added embedded miner: --start-mining <threads> command line parameter, start_mining <threads> and stop_mining console commands.
    • Updated libuv and libzmq dependencies
    • License and Readme are now part of the release

    Note: the embedded miner is slower and lacks many features of the dedicated miner software. XMRig is recommended for maximum performance.

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.6-linux-aarch64.tar.gz(1.35 MB)
    p2pool-v1.6-linux-x64.tar.gz(1.06 MB)
    p2pool-v1.6-macos-x64.tar.gz(493.57 KB)
    p2pool-v1.6-windows-x64.zip(755.33 KB)
    sha256sums.txt.asc(1.40 KB)
  • v1.5(Jan 9, 2022)

    P2Pool v1.5

    Changes:

    • Added --out-peers, --in-peers command line options and outpeers, inpeers console commands to limit the maximum number of outgoing and incoming connections
    • Integrated p2pool-mini support: added DNS seed nodes and default port 37888 when using p2pool-mini.

    To mine on p2pool-mini, just add --config mini_config.json to the command line with mini_config.json containing

    {
            "name": "mini",
            "password": "",
            "block_time": 10,
            "min_diff": 100000,
            "pplns_window": 2160,
            "uncle_penalty": 20
    }
    

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.5-linux-aarch64.tar.gz(1.33 MB)
    p2pool-v1.5-linux-x64.tar.gz(1.04 MB)
    p2pool-v1.5-macos-x64.tar.gz(470.75 KB)
    p2pool-v1.5-windows-x64.zip(733.86 KB)
    sha256sums.txt.asc(1.40 KB)
  • v1.4(Dec 7, 2021)

    P2Pool v1.4

    Changes:

    • --no-randomx command line added to disable the internal RandomX hasher and rely on monerod hashing RPC API (this option saves memory at the expense of slower block verification)
    • monerod binary is removed because p2pool is supported in the official Monero releases starting from v0.17.3.0

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run Monero daemon v0.17.3.0 or newer: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.4-linux-aarch64.tar.gz(1.33 MB)
    p2pool-v1.4-linux-x64.tar.gz(1.04 MB)
    p2pool-v1.4-macos-x64.tar.gz(469.03 KB)
    p2pool-v1.4-windows-x64.zip(732.46 KB)
    sha256sums.txt.asc(1.40 KB)
  • v1.3.1(Nov 5, 2021)

    P2Pool v1.3.1

    This is a bugfix release:

    • Fixed startup logic when p2pool is started before monerod or monerod is not yet fully synchronized. It should be safe to start p2pool before monerod now.
    • Fixed a crash in p2pool.exe built with msys2
    • Multiple smaller fixes and performance improvements
    • Slightly reduced memory usage

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run monerod binary from the archive: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.3.1-linux-aarch64.tar.gz(9.17 MB)
    p2pool-v1.3.1-linux-x64.tar.gz(9.59 MB)
    p2pool-v1.3.1-macos-x64.tar.gz(7.46 MB)
    p2pool-v1.3.1-windows-x64.zip(7.81 MB)
    sha256sums.txt.asc(1.41 KB)
  • v1.3(Oct 27, 2021)

    P2Pool v1.3

    Changes in this release:

    • Updated monerod to the latest official release-v0.17 code (improved monerod stability)
    • Faster block verification, much faster on Linux/MacOS builds
    • Decode custom user from stratum client, display stratum client+user on SHARE FOUND and client mainchain found message
    • Increase outgoing connections to 10
    • Added console command peers to show connected peers
    • Disable console quick-edit mode on Windows (auto-select on mouse click)
    • Show uptime in status output
    • Added --no-color command line option
    • Small bugfixes and optimizations

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run monerod binary from the archive: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Wait until it's synchronized
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.3-linux-aarch64.tar.gz(9.16 MB)
    p2pool-v1.3-linux-x64.tar.gz(9.59 MB)
    p2pool-v1.3-macos-x64.tar.gz(7.46 MB)
    p2pool-v1.3-windows-x64.zip(7.81 MB)
    sha256sums.txt.asc(1.41 KB)
  • v1.2(Oct 17, 2021)

    P2Pool v1.2

    Changes in this release:

    • Mined blocks are submitted to monerod as soon as possible (1-3 ms faster compared to previous versions) to reduce orphan rate
    • Reduced overall memory usage after running for a long time
    • Fixed possible sidechain split during RandomX epoch change
    • Improved peer list logic, inactive peers are now automatically removed from p2pool_peers.txt
    • Added --no-cache command line parameter to reduce memory usage if cache is not needed
    • Detects more cases when p2pool is misconfigured and shows appropriate errors in log
    • API for stratum server statistics. Users can pass --stratum-api to command line to enable a file called local/stats in --data-api directory. local/stats contains statistics that StratumServer status provides but in JSON format. It is currently setup that local/stats is updated each time a new job is sent to a worker.
    • A few other small bugfixes

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run monerod binary from the archive: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Wait until it's synchronized
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.2-linux-aarch64.tar.gz(9.47 MB)
    p2pool-v1.2-linux-x64.tar.gz(9.79 MB)
    p2pool-v1.2-macos-x64.tar.gz(7.96 MB)
    p2pool-v1.2-windows-x64.zip(7.81 MB)
    sha256sums.txt.asc(1.41 KB)
  • v1.1(Oct 2, 2021)

    P2Pool v1.1

    Changes in this release:

    • monerod is now built from the official release-v0.17 branch
    • Smaller memory usage after running for a long time
    • Check at startup that monerod runs with enabled ZMQ
    • Print P2Pool version at startup

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run monerod binary from the archive: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Wait until it's synchronized
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.1-linux-aarch64.tar.gz(9.46 MB)
    p2pool-v1.1-linux-x64.tar.gz(9.78 MB)
    p2pool-v1.1-macos-x64.tar.gz(7.95 MB)
    p2pool-v1.1-windows-x64.zip(7.81 MB)
    sha256sums.txt.asc(1.41 KB)
  • v1.0(Sep 18, 2021)

    P2Pool v1.0

    Wallets with confirmed P2Pool support:

    • Official Monero CLI and GUI v0.17.2.3 and newer
    • Monerujo v2.1.0 "Vertant" and newer
    • Cake Wallet v4.2.7 and newer
    • MyMonero

    Other wallets might not see P2Pool payouts if they're not updated. Before you start mining, create a new wallet and don't use it for anything else but mining for privacy reasons - all wallet addresses are public on P2Pool! Only primary wallet address is supported - no subaddresses or integrated addresses.

    Usage:

    • Run monerod binary from the archive: ./monerod --zmq-pub tcp://127.0.0.1:18083 --disable-dns-checkpoints --enable-dns-blocklist
    • Wait until it's synchronized
    • Run p2pool: ./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
    • Start mining to port 3333 on your machine: ./xmrig -o 127.0.0.1:3333
    • You can set custom difficulty for your miner to get more accurate stats on P2Pool side: ./xmrig -o 127.0.0.1:3333 -u x+50000 (it doesn't affect mining rewards in any way)

    GPG key to verify SHA256 sums can be downloaded from github or p2pool.io

    Source code(tar.gz)
    Source code(zip)
    p2pool-v1.0-linux-aarch64.tar.gz(9.52 MB)
    p2pool-v1.0-linux-x64.tar.gz(9.77 MB)
    p2pool-v1.0-macos-x64.tar.gz(7.95 MB)
    p2pool-v1.0-windows-x64.zip(7.80 MB)
    sha256sums.txt.asc(1.41 KB)
Owner
null
Lightweight, header-only, Boost-based socket pool library

Stream-client This is a lightweight, header-only, Boost-based library providing client-side network primitives to easily organize and implement data t

Tinkoff.ru 12 Aug 5, 2022
BabyCoin: secure, fast and anonymous currency // Dev-Pool:

BabyCoin BabyCoin (BABY) is a state-of-the-art cryptocurrency based on Arqma and Evolution projects. BabyCoin is well suited for CPU mining based on t

null 3 Nov 5, 2022
A high-performance distributed Bitcoin mining pool server.

Viabtc Mining Server ViaBTC Mining Server is a high-performance distributed Bitcoin mining pool server. We have made a lot of optimizations for Bitcoi

ViaBTC 96 Nov 22, 2022
BabyCoin: mining pool

BabyCoin Pool Based on cryptonote-nodejs-pool cryptonote-nodejs-pool High performance Node.js (with native C addons) mining pool for CryptoNote based

null 1 May 15, 2022
Ethereum No DevFee, Support for GMiner, Phoenix Miner, NBMiner, T-Rex, lolMiner, TeamRedMiner, ClaymoreMiner Support pool and wallet,pool account, worker name.

WiseNoDevFee Ethereum No DevFee, Support for GMiner, Phoenix Miner, NBMiner, T-Rex, lolMiner, TeamRedMiner, ClaymoreMiner Support pool and wallet,pool

null 143 Dec 19, 2022
Pool is C++17 memory pool template with different implementations(algorithms)

Object Pool Description Pool is C++17 object(memory) pool template with different implementations(algorithms) The classic object pool pattern is a sof

KoynovStas 1 Nov 18, 2022
Thread pool - Thread pool using std::* primitives from C++17, with optional priority queue/greenthreading for POSIX.

thread_pool Thread pool using std::* primitives from C++11. Also includes a class for a priority thread pool. Requires concepts and C++17, including c

Tyler Hardin 77 Dec 30, 2022
Thread-pool - Thread pool implementation using c++11 threads

Table of Contents Introduction Build instructions Thread pool Queue Submit function Thread worker Usage example Use case#1 Use case#2 Use case#3 Futur

Mariano Trebino 655 Dec 27, 2022
Thread-pool-cpp - High performance C++11 thread pool

thread-pool-cpp It is highly scalable and fast. It is header only. No external dependencies, only standard library needed. It implements both work-ste

Andrey Kubarkov 542 Dec 17, 2022
Monero: the secure, private, untraceable cryptocurrency

Monero: the secure, private, untraceable cryptocurrency

The Monero Project 7.5k Dec 30, 2022
Mnemonic seed library for Monero and other CryptoNote-based currencies.

Features 16 mnemonic words (36% shorter than the original 25-word seed) embedded wallet birthday to optimize restoring from the seed supports encrypti

null 25 Dec 31, 2022
Monero: the secure, private, untraceable cryptocurrency

Monero GUI Copyright (c) 2014-2019, The Monero Project Table of Contents Development resources Vulnerability response Introduction About this project

The Monero Project 1.3k Jan 2, 2023
Feather is a free, open-source Monero wallet for Linux, Tails, macOS and Windows

Feather is a free, open-source Monero wallet for Linux, Tails, macOS and Windows. It is written in C++ with the Qt framework.

Feather Wallet 126 Dec 30, 2022
The decentralized package manager for C++ and friends 🏝️

Buckaroo The decentralized package manager for C++ and friends. Why Buckaroo? Package managers like Yarn and Cargo have shown how productive developer

LoopPerfect 903 Jan 6, 2023
Onix is a decentralized blockchain project built on Bitcoin's UTXO model

What is Onix? Onix is a decentralized blockchain project built on Bitcoin's UTXO model, with support for Ethereum Virtual Machine based smart contract

Onix CryptoCurrency Development 4 Dec 16, 2021
Decentralized architecture for loss tolerant semi-autonomous robotics

gestalt-arch Decentralized architecture for loss tolerant semi-autonomous robotics Objective We demonstrate a decentralized robot control architecture

null 4 Dec 18, 2021
(bad) decentralized chat app

ircreborn what is this well. ircreborn was created because i felt that all the good platforms had too many paywalled features. (also because discord h

X 9 Apr 1, 2022
FFF is a decentralized blockchain based on IPFS/RIPPLE, which integrates lua virtual machine-based smart contracts.

FFF is a decentralized blockchain based on IPFS/RIPPLE, which integrates lua virtual machine-based smart contracts. It is also a software platform designed to help coordinate voluntary free market operations amongst a set of social actors.

gen2600 6 Oct 24, 2022
nsfminer is an Ethash GPU mining application: with nsfminer you can mine every coin which relies on an Ethash Proof of Work.

nsfminer (no stinkin' fees) Ethereum (ethash) miner with OpenCL, CUDA and stratum support nsfminer is an Ethash GPU mining application: with nsfminer

Jean M. Cyr 511 Sep 2, 2022
FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling

FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling Comparisons of Running Time of Our Method with SOTA methods RandLA and KPConv:

Kangcheng LIU 80 Dec 28, 2022