<p>When p2pool is started with --debug, it submits all shares to the node (dogecoind, bitcoind etc.). </p>

CC BY-SA 3.0
2014-01-09T20:17:45.647Z
Thanks to atomicpirate for the pointer to the code lines.
stanga
CC BY-SA 3.0
2014-01-09T20:17:31.753Z
2014-01-09T20:17:31.753Z
stanga
<p>It sounds like your client and pool node are working properly, and there is no parameter which will make the p2pool node set the worker difficulty to the share difficulty.</p>
<p>The p2pool node will take care of adjusting the difficulty for your mining client so that it is not submitting work too often. It's not a bad thing for your mining client to be submitting shares regularly to the pool node, even if they are at a lower difficulty than what is required to get a p2pool share. Regular traffic between the client and the pool node allows you to verify that everything is working properly and it allows the p2pool node to measure statistics about the client.</p>
<p>From the <a href="https://en.bitcoin.it/wiki/P2Pool" rel="nofollow noreferrer">the wiki</a>:</p>
<blockquote>
<p>Q: Why does my miner say it has found a lot of shares but p2pool say I have only found a few?!</p>
<p>A: The real P2Pool difficulty is hundreds of times higher than on normal pools, but p2pool essentially lies to your miner and tells it to work on relatively easy shares so that it submits shares every few seconds instead of every few hours. P2Pool then ignores any submitted shares that don't match the real share difficulty. By doing this, P2Pool can more accurately report your local hash rate and you can see if you are having problems with too many stale shares quickly</p>
</blockquote>

CC BY-SA 3.0
2014-01-06T15:01:01.167Z
Thanks, atomicpriate, but that's not my question. P2Pool connects to a Dogecoin client (similar to bitcoind), and it seems to submit all shares to this client. That's what doesn't make sense to me.
stanga
CC BY-SA 3.0
2014-01-08T04:10:45.237Z
I see, thanks for the clarification. It is certainly true that in the mainline BTC p2pool node implementation, only valid blocks found by a peer or miner are relayed to bitcoind. Perhaps the dogecoin p2pool branch was sloppily implemented and submits more shares than necessary? That is not how it _should_ be done.
atomicpirate
CC BY-SA 3.0
2014-01-08T15:05:23.380Z
I actually took a standard repo (https://github.com/forrestv/p2pool) and adapted it to Dogecoin. That's why I suspected I did something wrong.
stanga
CC BY-SA 3.0
2014-01-09T01:58:58.790Z
Very cool that you've branched p2pool for dogecoin! If you look in the original code at node.py and work.py you can see where p2pool checks that `pow_hash` is less than or equal to `header['bits'].target` before sending it to the client with `helper.submit_block(.)`, perhaps that's the place to start.
atomicpirate
CC BY-SA 3.0
2014-01-04T13:14:26.760Z
2014-01-04T13:14:26.760Z
2020-06-16T11:10:03.350Z
atomicpirate
<p>I setup p2pool for Dogecoin. It seems to work fine, only it submits every single share to the Dogecoin client. The client naturally rejects blocks with insufficient PoW. </p>

<p>Is this how it should work? Is there a parameter that would cause p2pool to submit only valid blocks that meet the required difficulty? </p>

<p2pool><dogecoin><mining-pools>
Should p2pool submit all shares?
stanga
# Should p2pool submit all shares?

(Asked by: username_0 on 2014-01-03)

I setup p2pool for Dogecoin. It seems to work fine, only it submits every single share to the Dogecoin client. The client naturally rejects blocks with insufficient PoW.

Is this how it should work? Is there a parameter that would cause p2pool to submit only valid blocks that meet the required difficulty?

**Tags:** p2pool, dogecoin, mining-pools


---

## 2 answers

### Answer by username_0 on 2014-01-09. Score: 2 | Accepted answer

When p2pool is started with --debug, it submits all shares to the node (dogecoind, bitcoind etc.).

> **Comments:**
> **username_0**: Thanks to username_1 for the pointer to the code lines.  

---

### Answer by username_1 on 2014-01-04. Score: 1

It sounds like your client and pool node are working properly, and there is no parameter which will make the p2pool node set the worker difficulty to the share difficulty.

The p2pool node will take care of adjusting the difficulty for your mining client so that it is not submitting work too often. It's not a bad thing for your mining client to be submitting shares regularly to the pool node, even if they are at a lower difficulty than what is required to get a p2pool share. Regular traffic between the client and the pool node allows you to verify that everything is working properly and it allows the p2pool node to measure statistics about the client.

From the [the wiki](https://en.bitcoin.it/wiki/P2Pool):

> Q: Why does my miner say it has found a lot of shares but p2pool say I have only found a few?!
>
> A: The real P2Pool difficulty is hundreds of times higher than on normal pools, but p2pool essentially lies to your miner and tells it to work on relatively easy shares so that it submits shares every few seconds instead of every few hours. P2Pool then ignores any submitted shares that don't match the real share difficulty. By doing this, P2Pool can more accurately report your local hash rate and you can see if you are having problems with too many stale shares quickly

> **Comments:**
> **username_0**: Thanks, atomicpriate, but that's not my question. P2Pool connects to a Dogecoin client (similar to bitcoind), and it seems to submit all shares to this client. That's what doesn't make sense to me.  
> **username_1**: I see, thanks for the clarification. It is certainly true that in the mainline BTC p2pool node implementation, only valid blocks found by a peer or miner are relayed to bitcoind. Perhaps the dogecoin p2pool branch was sloppily implemented and submits more shares than necessary? That is not how it _should_ be done.  
> **username_0**: I actually took a standard repo (https://github.com/forrestv/p2pool) and adapted it to Dogecoin. That's why I suspected I did something wrong.  
> **username_1**: Very cool that you've branched p2pool for dogecoin! If you look in the original code at node.py and work.py you can see where p2pool checks that `pow_hash` is less than or equal to `header['bits'].target` before sending it to the client with `helper.submit_block(.)`, perhaps that's the place to start.  

---

