Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 231. (Read 2591928 times)

member
Activity: 97
Merit: 10
I see you're using an Rc version: v99900 - Maybe that's what's causing your errors. I only use the stable release versions for mining.......

OMG, Why I didn't saw that myself?  Embarrassed
I'm gonna deploy a stable release of Bitcoin Core to factor this out! Thanks!

I've been monitoring my P2Pool Node very closely since the update to the last Bitcoin Core version. I found out with Block #339.597 (which took about 50mins and had more than 2000tx did not grow beyond the the maxblocksize of 1.000.000! This is great news now the P2Pool did not gave any "playload too long" error at console. The update to a later Bitcoin Core did the trick. I would advise everyone to update their Bitcoin Core concerning this issue!

Thanks for the good help and your efforts everyone!!!
member
Activity: 78
Merit: 10
Well when recoding p2pool, It would be Nice to solve the "payload too long" issue as well.

Does somebody know how to deal with this?  Huh  

Please check this post: https://bitcointalksearch.org/topic/m.10164796

 Roll Eyes

So doing some digging, the "payload too long" error comes about when a packet's length is greater than max_payload_length.  This can be seen in p2pool/util/p2protocol.py.

This is called from p2pool/bitcoin/p2p.py and p2pool/p2p.py where it sets max_payload_length to 1,000,000.

I am going to change the code to print out the packet size, as well as, change the max_payload_length to twice the size.  I will let the code run for awhile and see what happens and report back.


If I'm correct the 'maxblocksize' is hardcoded to 1MB into the Bitcoin protocol. So I guess changing the payload length does do the trick within P2Pool code (until the blocksize will be increased). Well it is still unclear to me what part of the code you have changed. Logically it had to do with Bitcoin Core which is responsible for "packaging" the block and verify the hash of it. It would be awesome if you still could update us with news. I've also updated my Bitcoin Core and I'm waiting for a long blocktime with lots of transactions to debug my new setup. So, I'll keep you guys posted! Thanks!



Yes, the block should not be coming into p2pool over 1,000,000 or perhaps it is sometimes coming in with a size of 1,024,000 (another meaning of MB).  Or perhaps p2pool or bitcoind is somehow corrupting it at certain times which is causing this issue.  We'll see and my logging should let us know a little better what is happening.
full member
Activity: 238
Merit: 100
I have one question. Is it recommended to give the address with the -a flag and save this address is always the same? Does it make a difference?

Depends on what You preffer. If to mine to local wallet (where bitcoin daemon is running) or to exteral wallet. I preffer to mine to external wallet with -a option. Easier and more comfortable for me.
member
Activity: 97
Merit: 10
Well when recoding p2pool, It would be Nice to solve the "payload too long" issue as well.

Does somebody know how to deal with this?  Huh  

Please check this post: https://bitcointalksearch.org/topic/m.10164796

 Roll Eyes

So doing some digging, the "payload too long" error comes about when a packet's length is greater than max_payload_length.  This can be seen in p2pool/util/p2protocol.py.

This is called from p2pool/bitcoin/p2p.py and p2pool/p2p.py where it sets max_payload_length to 1,000,000.

I am going to change the code to print out the packet size, as well as, change the max_payload_length to twice the size.  I will let the code run for awhile and see what happens and report back.


If I'm correct the 'maxblocksize' is hardcoded to 1MB into the Bitcoin protocol. So I guess changing the payload length does do the trick within P2Pool code (until the blocksize will be increased). Well it is still unclear to me what part of the code you have changed. Logically it had to do with Bitcoin Core which is responsible for "packaging" the block and verify the hash of it. It would be awesome if you still could update us with news. I've also updated my Bitcoin Core and I'm waiting for a long blocktime with lots of transactions to debug my new setup. So, I'll keep you guys posted! Thanks!

full member
Activity: 238
Merit: 100
Well when recoding p2pool, It would be Nice to solve the "payload too long" issue as well.

Does somebody know how to deal with this?  Huh  

Please check this post: https://bitcointalksearch.org/topic/m.10164796

 Roll Eyes

What is Your Bitcoind GetBlockTemplate Latency? Has You p2pool node external IP to see stats?


Thanks for the reply!

Well my stats looks like this:

Code:
P2Pool Status
Local rate 155.77 GH/s (DOA 3.67 GH/s / 2.35%) Shares Total: 2 (Orphan: 0, Dead: 1, Unknown: 1)
Global pool rate 1.93 PH/s (DOA 321.61 TH/s / 16.67%) Share difficulty 6,707,631.61
Current block value Expected time to share 2d 3h 22m 33 s
Total node payout if block found NOW Expected time to block 1d 3h 11m 10 s
Node peers [in] 2 / 30 [out] Node uptime 2d 6h 35m 22 s
Node p2pool version 13.5-73-g12ca9d8-dirty Protocol version 1300
Node efficiency 60.00% Node getwork latency 305 ms
Node fee 0% Node donation 0%

Bitcoin Status
Network rate 303.41 PH/s Blocks 339,372
Current block 998,775 bytes / 1,600 txs Block difficulty 43,971,662,056.08958
Hashes to win 9.22 EH Block probability per GH 5.295015761671106e-12%
Total Bitcoins Expected time to block 0h 0m 30 s
Exchange rate Block interval 0h 10m 30 s
Connections [in] 12 / 523 [out] Node uptime 2d 6h 37m 53 s
Node bitcoind version 99900 Protocol version 70002
Relay fee Peer latency 675 ms


I assume my Bitcoind GetBlockTemplate Latency is 675ms, right? From what I've read, the latencies are OK and they are stable when the "payload too long" error is not occurring. Only when the error comes up in the console of p2pool then those latencies are indeed skyrocketing. As I understand from the logs and statistics this payload error does not look like a cause from latencies, but latencies are the symptoms of the payload error. So where all the sudden arises this payload error from? Is it the "maxblocksize" of Bitcoind Core which is 1MB? Because the payload error is always in combination when the blocktime between blocks were +10mins (and +2000 transactions). Get the idea the problem comes from that direction.

Any thoughts?



Yes.
1) Switch to latest p2pool version.
 git clone https://github.com/forrestv/p2pool
2) to limit outgoing/incomming connections of p2pool use this settings:
 --max-conns 6 \
 --outgoing-conns 6 \
3) use 0.9.4.0 bitcoin core version with bitcoin.conf like this (nothing more is necessary):
 server=1
 rpcuser=your_rpc_user
 rpcpassword=your_rpc_password


Thanks for the tips.  I have the latest p2pool and bitcoind code and have limited my incoming and outgoing p2pool connections.  However, my bitcoin.conf file does set blockmaxsize, minrelaytxfee, maxconnections, blockminsize, blockprioritysize, and mintxfee.  Do you believe that one of those settings could cause this issue within p2pool?


Do You know the reason for each one parameter in Your bitcoin.conf file? If no, or they are not really necessary from very good reason, remove them. Give it a chance to work. Wink
full member
Activity: 141
Merit: 100
I have one question. Is it recommended to give the address with the -a flag and save this address is always the same? Does it make a difference?
member
Activity: 78
Merit: 10
Well when recoding p2pool, It would be Nice to solve the "payload too long" issue as well.

Does somebody know how to deal with this?  Huh  

Please check this post: https://bitcointalksearch.org/topic/m.10164796

 Roll Eyes

So doing some digging, the "payload too long" error comes about when a packet's length is greater than max_payload_length.  This can be seen in p2pool/util/p2protocol.py.

This is called from p2pool/bitcoin/p2p.py and p2pool/p2p.py where it sets max_payload_length to 1,000,000.

I am going to change the code to print out the packet size, as well as, change the max_payload_length to twice the size.  I will let the code run for awhile and see what happens and report back.
hero member
Activity: 686
Merit: 500
WANTED: Active dev to fix & re-write p2pool in C
I leave my conf file with the bear minimum needed, and I don't adjust my p2pool settings either - everything works perfectly using the standard settings for me apart from maxconnections to reduce the bandwidth usage - my ADSL line is shite  Cheesy
member
Activity: 78
Merit: 10
Well when recoding p2pool, It would be Nice to solve the "payload too long" issue as well.

Does somebody know how to deal with this?  Huh  

Please check this post: https://bitcointalksearch.org/topic/m.10164796

 Roll Eyes

What is Your Bitcoind GetBlockTemplate Latency? Has You p2pool node external IP to see stats?


Thanks for the reply!

Well my stats looks like this:

Code:
P2Pool Status
Local rate 155.77 GH/s (DOA 3.67 GH/s / 2.35%) Shares Total: 2 (Orphan: 0, Dead: 1, Unknown: 1)
Global pool rate 1.93 PH/s (DOA 321.61 TH/s / 16.67%) Share difficulty 6,707,631.61
Current block value Expected time to share 2d 3h 22m 33 s
Total node payout if block found NOW Expected time to block 1d 3h 11m 10 s
Node peers [in] 2 / 30 [out] Node uptime 2d 6h 35m 22 s
Node p2pool version 13.5-73-g12ca9d8-dirty Protocol version 1300
Node efficiency 60.00% Node getwork latency 305 ms
Node fee 0% Node donation 0%

Bitcoin Status
Network rate 303.41 PH/s Blocks 339,372
Current block 998,775 bytes / 1,600 txs Block difficulty 43,971,662,056.08958
Hashes to win 9.22 EH Block probability per GH 5.295015761671106e-12%
Total Bitcoins Expected time to block 0h 0m 30 s
Exchange rate Block interval 0h 10m 30 s
Connections [in] 12 / 523 [out] Node uptime 2d 6h 37m 53 s
Node bitcoind version 99900 Protocol version 70002
Relay fee Peer latency 675 ms


I assume my Bitcoind GetBlockTemplate Latency is 675ms, right? From what I've read, the latencies are OK and they are stable when the "payload too long" error is not occurring. Only when the error comes up in the console of p2pool then those latencies are indeed skyrocketing. As I understand from the logs and statistics this payload error does not look like a cause from latencies, but latencies are the symptoms of the payload error. So where all the sudden arises this payload error from? Is it the "maxblocksize" of Bitcoind Core which is 1MB? Because the payload error is always in combination when the blocktime between blocks were +10mins (and +2000 transactions). Get the idea the problem comes from that direction.

Any thoughts?



Yes.
1) Switch to latest p2pool version.
 git clone https://github.com/forrestv/p2pool
2) to limit outgoing/incomming connections of p2pool use this settings:
 --max-conns 6 \
 --outgoing-conns 6 \
3) use 0.9.4.0 bitcoin core version with bitcoin.conf like this (nothing more is necessary):
 server=1
 rpcuser=your_rpc_user
 rpcpassword=your_rpc_password


Thanks for the tips.  I have the latest p2pool and bitcoind code and have limited my incoming and outgoing p2pool connections.  However, my bitcoin.conf file does set blockmaxsize, minrelaytxfee, maxconnections, blockminsize, blockprioritysize, and mintxfee.  Do you believe that one of those settings could cause this issue within p2pool?
legendary
Activity: 1258
Merit: 1027
Reddit has an up voted thread asking if p2pool is worth it compared to other pools.  Take a look and you can add your comments: http://www.reddit.com/r/BitcoinMining/comments/2sqi3l/miners_of_reddit_do_you_have_statistics_on/


Thx for posting, also a thread on main Bitcoin Reddit:

http://www.reddit.com/r/Bitcoin/comments/2sqh0a/decentralising_mining_making_p2pool_more/
legendary
Activity: 1540
Merit: 1001
oooiii... what happen to the hashrate??

Are you guys all stuck trying to get pypy to work or merge mining? LOL.

Don't forget the hashrate isn't really the hashrate.  It's a calculated value based on how many shares have been submitted in the last X minutes.

Could easily be bad luck across the board.

M
member
Activity: 78
Merit: 10
Reddit has an up voted thread asking if p2pool is worth it compared to other pools.  Take a look and you can add your comments: http://www.reddit.com/r/BitcoinMining/comments/2sqi3l/miners_of_reddit_do_you_have_statistics_on/
sr. member
Activity: 248
Merit: 250
Are we there yet?
oooiii... what happen to the hashrate??

Are you guys all stuck trying to get pypy to work or merge mining? LOL.
full member
Activity: 238
Merit: 100
worthless coins renaissance  Kiss
====================
small namecoin merged mining howto

(I suppose You are already running functional p2pool node... ehm... with linux)
download namecoin:
git clone https://github.com/namecoin/namecoin.git
go there and compile it:
cd namecoin
qmake namecoin-qt.pro
make
edit namecoin.conf file:
nano ~/.namecoin/namecoin.conf
this should be there:
server=1
rpcuser=your_nmc_user
rpcpassword=your_nmc_password
rpcport=7333
rpcallowip=*

then run namecoin-qt... and wait a little moment, minutes, hours, days... until synced (make coffee while waiting)
add to Your p2pool command this parameter:
--merged http://your_nmc_user:[email protected]:7333/
rerun p2pool node
check data/bitcoin/log for merged word:
grep merged data/bitcoin/log |wc -l
if You get non zero value, it works (probably)
make coffee and tell guys You got it!
full member
Activity: 238
Merit: 100
I suppose daemons has to be compiled with wallet enabled and run at the same machine as bitcoind and p2pool if succeed will create there mining address?

All on the same machine, yes - but p2pool won't create an address on other daemons, payments will go to the default daemon wallet address.

How many of those coins is there still a market for?

All except FSC & GRP... Wink

Pretty cool, nice way to add a little to the bottom line Smiley

I suppose merged mined coins I will get the whole block, right? So for NMC 25 coins with my 8600GHs I will get once per 100 days, as I see. Smiley
full member
Activity: 238
Merit: 100
Well when recoding p2pool, It would be Nice to solve the "payload too long" issue as well.

Does somebody know how to deal with this?  Huh  

Please check this post: https://bitcointalksearch.org/topic/m.10164796

 Roll Eyes

What is Your Bitcoind GetBlockTemplate Latency? Has You p2pool node external IP to see stats?


Thanks for the reply!

Well my stats looks like this:

Code:
P2Pool Status
Local rate 155.77 GH/s (DOA 3.67 GH/s / 2.35%) Shares Total: 2 (Orphan: 0, Dead: 1, Unknown: 1)
Global pool rate 1.93 PH/s (DOA 321.61 TH/s / 16.67%) Share difficulty 6,707,631.61
Current block value Expected time to share 2d 3h 22m 33 s
Total node payout if block found NOW Expected time to block 1d 3h 11m 10 s
Node peers [in] 2 / 30 [out] Node uptime 2d 6h 35m 22 s
Node p2pool version 13.5-73-g12ca9d8-dirty Protocol version 1300
Node efficiency 60.00% Node getwork latency 305 ms
Node fee 0% Node donation 0%

Bitcoin Status
Network rate 303.41 PH/s Blocks 339,372
Current block 998,775 bytes / 1,600 txs Block difficulty 43,971,662,056.08958
Hashes to win 9.22 EH Block probability per GH 5.295015761671106e-12%
Total Bitcoins Expected time to block 0h 0m 30 s
Exchange rate Block interval 0h 10m 30 s
Connections [in] 12 / 523 [out] Node uptime 2d 6h 37m 53 s
Node bitcoind version 99900 Protocol version 70002
Relay fee Peer latency 675 ms


I assume my Bitcoind GetBlockTemplate Latency is 675ms, right? From what I've read, the latencies are OK and they are stable when the "payload too long" error is not occurring. Only when the error comes up in the console of p2pool then those latencies are indeed skyrocketing. As I understand from the logs and statistics this payload error does not look like a cause from latencies, but latencies are the symptoms of the payload error. So where all the sudden arises this payload error from? Is it the "maxblocksize" of Bitcoind Core which is 1MB? Because the payload error is always in combination when the blocktime between blocks were +10mins (and +2000 transactions). Get the idea the problem comes from that direction.

Any thoughts?



Yes.
1) Switch to latest p2pool version.
 git clone https://github.com/forrestv/p2pool
2) to limit outgoing/incomming connections of p2pool use this settings:
 --max-conns 6 \
 --outgoing-conns 6 \
3) use 0.9.4.0 bitcoin core version with bitcoin.conf like this (nothing more is necessary):
 server=1
 rpcuser=your_rpc_user
 rpcpassword=your_rpc_password
sr. member
Activity: 312
Merit: 250
small pypy howto

... download pypy binary, I choosed 64 bit version to my ubuntu 14.04 LTS
wget https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux64.tar.bz2
... untar it
tar xvf pypy-2.4.0-linux64.tar.bz2
... create symbolic link
sudo ln -sf /where_untared/pypy-2.4.0-linux64/bin/pypy /usr/bin/pypy
... download pip manager
wget https://bootstrap.pypa.io/get-pip.py
... install pip manager
pypy get-pip.py
... install twisted
pip install twisted
... done

use pypy instead python

optional

... download latest forrestv p2pool version
git clone https://github.com/forrestv/p2pool.git
... run it
... make coffee

I try just now with latest git p2pool version 13.4-62-g077b2c1, seems well

Anyone succeed in getting this to work under windows?  I got pip installed, now I'm having a problem compiling twisted, complains about not finding rpc\rpc.h.

M

I've tested it in Windows 8.1 64-bit, but not running it now.  Even though the OS is 64-bit, I had to use 32-bit for all the required packages.  Also, I wouldn't bother compiling twisted since you can download the Windows package already compiled.  Same goes for pywin, zope, WMI, and mingw.  All 32-bit packages pre-compiled.  This worked for me. 
legendary
Activity: 1540
Merit: 1001
small pypy howto

... download pypy binary, I choosed 64 bit version to my ubuntu 14.04 LTS
wget https://bitbucket.org/pypy/pypy/downloads/pypy-2.4.0-linux64.tar.bz2
... untar it
tar xvf pypy-2.4.0-linux64.tar.bz2
... create symbolic link
sudo ln -sf /where_untared/pypy-2.4.0-linux64/bin/pypy /usr/bin/pypy
... download pip manager
wget https://bootstrap.pypa.io/get-pip.py
... install pip manager
pypy get-pip.py
... install twisted
pip install twisted
... done

use pypy instead python

optional

... download latest forrestv p2pool version
git clone https://github.com/forrestv/p2pool.git
... run it
... make coffee

I try just now with latest git p2pool version 13.4-62-g077b2c1, seems well

Anyone succeed in getting this to work under windows?  I got pip installed, now I'm having a problem compiling twisted, complains about not finding rpc\rpc.h.

M
member
Activity: 97
Merit: 10
I see you're using an Rc version: v99900 - Maybe that's what's causing your errors. I only use the stable release versions for mining.......

OMG, Why I didn't saw that myself?  Embarrassed
I'm gonna deploy a stable release of Bitcoin Core to factor this out! Thanks!
hero member
Activity: 686
Merit: 500
WANTED: Active dev to fix & re-write p2pool in C
I see you're using an Rc version: v99900 - Maybe that's what's causing your errors. I only use the stable release versions for mining.......
Jump to: