CartmanSPC
Legendary
Offline
Activity: 1270
Merit: 1000
|
|
February 07, 2014, 11:21:47 PM |
|
For SPREAD I use the following formula: SPREAD= 600/[block time]=x x*3=spread Not saying that it is right but it's what I use. bitcoin SPREAD=3 block every 600 seconds Baseline litecoin SPREAD=12 block every 150 seconds 600/150=4 4x3=12 bbqcoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 casinocoin SPREAD=60 block every 30 seconds 600/30=20 20x3=60 digitalcoin SPREAD=90 block every 20 seconds 600/20=30 30x3=90 (old spec) digitalcoin SPREAD=45 block every 40 seconds 600/40=15 15x3=45 (new spec) worldcoin SPREAD=120 block every 15 seconds 600/15=40 40x3=120 (old spec) worldcoin SPREAD=60 block every 30 seconds 600/30=20 20x3=60 (new spec) globalcoin SPREAD=45 block every 40 seconds 600/40=15 15x3=45 dogecoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 potcoin SPREAD=45 block every 40 seconds 600/40=15 15x3=45 craftcoin SPREAD=6 block every 300 seconds 600/300=2 2x3=6 (old spec) craftcoin SPREAD=30 block every 60 seconds 600/60=10 10x3=30 (new spec)
|
|
|
|
roy7
|
|
February 07, 2014, 11:23:41 PM |
|
Sadly when we did the first vertcoin nodes, we used spread=3 because we just copied litecoin. It really should have been 12-15... would avoid so much confusion for small miners right now. Doh.
|
|
|
|
mmouse
|
|
February 08, 2014, 03:52:00 AM |
|
Sadly when we did the first vertcoin nodes, we used spread=3 because we just copied litecoin. It really should have been 12-15... would avoid so much confusion for small miners right now. Doh.
You can lower your share difficulty by appending /diff to your p2pool username. That should generate more shares and more regular payouts, but of course you get paid less per share. I'm trying VTCPayoutAddress+0.001465/0.55 at the moment. I can tell tomorrow, if this makes things better or worse...
|
|
|
|
roy7
|
|
February 08, 2014, 03:54:02 AM |
|
You can lower your share difficulty by appending /diff to your p2pool username. That should generate more shares and more regular payouts, but of course you get paid less per share. I'm trying VTCPayoutAddress+0.001465/0.55 at the moment. I can tell tomorrow, if this makes things better or worse... address/diff won't let you set diff below the minimum share diff for the pool though. It's intended more to raise diff for giant miners than to lower diff, I thought?
|
|
|
|
mmouse
|
|
February 08, 2014, 04:42:31 PM |
|
You can lower your share difficulty by appending /diff to your p2pool username. That should generate more shares and more regular payouts, but of course you get paid less per share. I'm trying VTCPayoutAddress+0.001465/0.55 at the moment. I can tell tomorrow, if this makes things better or worse... address/diff won't let you set diff below the minimum share diff for the pool though. It's intended more to raise diff for giant miners than to lower diff, I thought? First, I've to admit that I'm not completely sure about how p2pool handle diffs and so on, just my own code reading + try and error. That said, pool minimum share diff (what you get e.g. with http://vtc.coinpools.de:9171/difficulty) is not what p2pool gives out to your miner as share difficulty (main reason, why the "share difficulty" displayed on the standard web client page is nonsense). p2pool uses a quite complicated algorithm to compute pseudo_share_difficulty (work.py lines 265-) and share_difficulty (data.py lines 111-) specifically for your miner client (see debug.log "New work for worker" entries). IMHO the main problem with this is, that p2pool tries to dish out share difficulties so that it expects no more than one solved share per minute from all connected clients. So as my VTC node has about 6 MH/s local rate at the moment, the log shows a standard share difficulty of 1.39 given to clients. Minimum share difficulty for the pool is 0.063 on the other hand. So it seems perfectly legit to specify a custom share difficulty of 0.55 for my miner. (If you specify it too low, p2pool seems to use the minimum pool difficulty anyway). I can tell tomorrow, if this makes things better or worse...
Did work perfectly for me during the last 12 hours, by the way
|
|
|
|
roy7
|
|
February 08, 2014, 06:37:22 PM |
|
Hmmm. Even if I try to set /.00001 I can't see it changing anything on my miner's end. Using + of course submits diff 1 pseudo-shares constantly which is a waste of resources.
Looking at all of the New Work messages, they aren't all being set to the same difficulty. On my pool most are set to 0.00244 but one is .000812 and one is .000244. I assume those are the pseduo share difficulties and the tiny ones are the two slowest miners in pool?
Because yes, there is also the "Share difficulty: 1.918" which is going to all but 2 miners. One is me with my /.000001 forcing it down to match share difficulty. That other must be you or someone like you, setting a lower share difficulty with ADDR/ which means you'll actually have reduced variance since the difficulty chosen is still over the minimum.
Is it really 1 share total from all miners combined, or 1 share per minute from each miner individually? The latter would make more sense to me, but I'm thinking of it from a "running a pool-like public node" perspective. p2pool is designed from a "run it as a reduced variance solo mining operation" perspective.
|
|
|
|
roy7
|
|
February 08, 2014, 06:44:41 PM Last edit: February 08, 2014, 07:15:47 PM by roy7 |
|
IMHO the main problem with this is, that p2pool tries to dish out share difficulties so that it expects no more than one solved share per minute from all connected clients. So as my VTC node has about 6 MH/s local rate at the moment, the log shows a standard share difficulty of 1.39 given to clients. Minimum share difficulty for the pool is 0.063 on the other hand. So it seems perfectly legit to specify a custom share difficulty of 0.55 for my miner. (If you specify it too low, p2pool seems to use the minimum pool difficulty anyway).
Interesting. I kept assuming small miner variance was due to large share difficulty but that's not the case at all for VTC right now, if you are a small miner using a big public node. 2014-02-08 18:41:03.086159 New work for worker! Difficulty: 0.001676 Share difficulty: 1.505790 2014-02-08 18:41:03.287006 New work for worker! Difficulty: 0.001676 Share difficulty: 0.058060 I have a couple dozen lines similar to the first. The 2nd is my testing with difficultly forced as low as it can go. Being a single GPU miner, 1.5 (98683) will take me far far longer to get 1 share than .058 (3805) would. Edit: Apologies for the thread hijack. mmouse we should move this to the P2Pool main thread or to the VTC thread.
|
|
|
|
tvb
Newbie
Offline
Activity: 38
Merit: 0
|
|
February 09, 2014, 10:00:05 AM |
|
SUBSIDY_FUNC = <X>*<TOTAL COINS> <X> pulled from ./src/main.cpp (search for "nSubsidy") <TOTAL COINS> total number of minable coins.
I believe this is incorrect. I think the correct way is: for litecoin: SUBSIDY_FUNC=lambda height: 50*100000000 >> (height + 1)//840000, SUBSIDY_FUNC=lambda height: 'block reward' * 'satoshies' >> (height + 1)//'height where block halves'. If there is no "halfing" you take out the >> (height + 1)//'height where block halves' //840000 is the number from main.cpp in nSubsidy -> nSubsidy >>= (nHeight / Thank you! I have updated my post to reflect your corrections.
|
|
|
|
|
primeblock
Newbie
Offline
Activity: 29
Merit: 0
|
|
February 14, 2014, 02:29:41 PM |
|
Thank you all for this useful thread!
But I found if use p2pool setup by myself the HW error is very high from the output of CGMiner.
I can say I have seen this several times myself, unfortunately not 100% sure the cause of it quite yet and has not happened everytime so have not found the pattern yet.
|
|
|
|
roy7
|
|
February 14, 2014, 02:57:22 PM |
|
Thank you all for this useful thread!
But I found if use p2pool setup by myself the HW error is very high from the output of CGMiner.
I can say I have seen this several times myself, unfortunately not 100% sure the cause of it quite yet and has not happened everytime so have not found the pattern yet. Someone say getting work with 0 diff causes errors but I have no idea if it is HW errors or something else. Try connecting to your node with /.00001+.00001 if you use a scrypt based coin. (/1+1 if a SHA based coin). That will make sure you never get anything below 1 diff.
|
|
|
|
CartmanSPC
Legendary
Offline
Activity: 1270
Merit: 1000
|
|
February 14, 2014, 07:38:18 PM |
|
Thank you all for this useful thread!
But I found if use p2pool setup by myself the HW error is very high from the output of CGMiner.
I can say I have seen this several times myself, unfortunately not 100% sure the cause of it quite yet and has not happened everytime so have not found the pattern yet. Have seen this happen on the first miner to join a node. I forget the exact message but also notice something like "unidentified stratum" in the console when this happens. Simple quick fix (for me) is to restart the miner.
|
|
|
|
SuperSta
|
|
February 25, 2014, 07:56:47 PM |
|
Q1) Can someone let me know how to get the Prefix and the Identifier for a new coin? (specifically litebar) Q2) I have done the settings (except for prefix and identifier) to the best of my ability with the aid of this thread for Litebar network.py in both P2Pool locations. Can some bright spark actually post the correct settings for Litebar please. I have spent 12 hours trying figuring it out and could use any help. litebar=math.Object( PARENT=networks.nets['litebar'], SHARE_PERIOD=15, CHAIN_LENGTH=24*60*60//10, REAL_CHAIN_LENGTH=24*60*60//10, TARGET_LOOKBEHIND=200, SPREAD=10, IDENTIFIER=''.decode('hex'), PREFIX=''.decode('hex'), P2P_PORT=19065, MIN_TARGET=0, MAX_TARGET=2**256//2**20 - 1, PERSIST=true, WORKER_PORT=19055, BOOTSTRAP_ADDRS=''.split(' '), ANNOUNCE_CHANNEL='', VERSION_CHECK=lambda v: True,
),
litebar=math.Object( P2P_PREFIX='fbc0b6db'.decode('hex'), P2P_PORT=9065, ADDRESS_VERSION=48, RPC_PORT=9055, RPC_CHECK=defer.inlineCallbacks(lambda bitcoind: defer.returnValue( 'litebaraddress' in (yield bitcoind.rpc_help()) and not (yield bitcoind.rpc_getinfo())['testnet'] )), SUBSIDY_FUNC=lambda height: 2*100000000 >> (height + 1)//438000, POW_FUNC=lambda data: pack.IntType(256).unpack(__import__('ltc_scrypt').getPoWHash(data)), BLOCK_PERIOD=180, SYMBOL='LTB', CONF_FILE_FUNC=lambda: os.path.join(os.path.join(os.environ['APPDATA'], 'litebar') if platform.system() == 'Windows' else os.path.expanduser('~/Library/Application Support/litebar/') if platform.system() == 'Darwin' else os.path.expanduser('~/.litebar'), 'litebar.conf'), BLOCK_EXPLORER_URL_PREFIX='', ADDRESS_EXPLORER_URL_PREFIX='', TX_EXPLORER_URL_PREFIX='', SANE_TARGET_RANGE=(2**256//1000000000 - 1, 2**256//1000 - 1), DUMB_SCRYPT_DIFF=2**16, DUMB_SCRYPT_DIFF=0.03e8, ), I know some of these settings are ball park figures, and some of these setting might be completely wrong. Any help would be appreciated. Thanks
|
|
|
|
CartmanSPC
Legendary
Offline
Activity: 1270
Merit: 1000
|
|
February 25, 2014, 10:51:29 PM |
|
Q1) Can someone let me know how to get the Prefix and the Identifier for a new coin? (specifically litebar)
Added it to my guide..it is also here earlier in this thread.
|
|
|
|
SuperSta
|
|
February 26, 2014, 12:33:08 AM |
|
Q1) Can someone let me know how to get the Prefix and the Identifier for a new coin? (specifically litebar)
Added it to my guide..it is also here earlier in this thread. Thank you for that! This is what happens when I run it - I get all Succcesses at the top but then I get this repeatedly: 2014-02-25 19:31:06.817362 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2014-02-25 19:31:06.817451 Local: 0H/s in last 0.0 seconds Local dead on arrival: Expected time to share: Any ideas? EDIT: Its works I think, I just pointed my miner at it. I'm getting a bunch of HW issues but I'll sort that out. When I tried starting a Litecoin p2pool earlier I wasnt getting the above messages that I am getting with Litebar. Not sure why.
|
|
|
|
SuperSta
|
|
February 26, 2014, 01:19:49 AM Last edit: February 26, 2014, 08:32:49 PM by SuperSta |
|
Q1) Can someone let me know how to get the Prefix and the Identifier for a new coin? (specifically litebar)
Added it to my guide..it is also here earlier in this thread. Thank you for that! This is what happens when I run it - I get all Succcesses at the top but then I get this repeatedly: 2014-02-25 19:31:06.817362 P2Pool: 0 shares in chain (0 verified/0 total) Peers: 0 (0 incoming) 2014-02-25 19:31:06.817451 Local: 0H/s in last 0.0 seconds Local dead on arrival: Expected time to share: Any ideas? EDIT: Its works I think, I just pointed my miner at it. I'm getting a bunch of HW issues but I'll sort that out. When I tried starting a Litecoin p2pool earlier I wasnt getting the above messages that I am getting with Litebar. Not sure why. Right I have this kinda working, finally. I was getting a bunch of hardware issues until I put +16 after my username in my cgminer conf file. However I dont think this is the permanent solution. I think its a setting on the server that needs to be corrected to may be allocate the difficulty better. I think its one (or more) of the settings to do with ~/P2Pool/P2Pool/Network.py I will tweak them, however if anyone has any ideas on which ones I should be fiddling around with, please let me know. Muchos gracias amigos. UPDATE: This is it: New Litebar P2Pool: http://lifeforce.info:24323 - To add to your collection! Use as your main or as a back up - VPS Hosted - London Based - Fee: 0.5% Going to do some more tweaking first.
|
|
|
|
roy7
|
|
February 26, 2014, 01:26:49 PM |
|
When you first connect to a new node and there are no stats at all you will get served DIFF 0 work which will cause HWs in some types of miners. If you mine for a while with any + it will get some stats stored, then you can disconnect and reconnect without the + and you should be fine, with vardiff giving you pseudoshare targets above 0. I just put in a suggestion to the p2pool repo that the minimum work ever served should be 1 (for sha256) or 1/X where X is the scrypt adjustment to the difficulty figure for that coin (it's in bitcoin/networks.py).
|
|
|
|
CartmanSPC
Legendary
Offline
Activity: 1270
Merit: 1000
|
|
February 26, 2014, 06:54:33 PM |
|
When you first connect to a new node and there are no stats at all you will get served DIFF 0 work which will cause HWs in some types of miners. If you mine for a while with any + it will get some stats stored, then you can disconnect and reconnect without the + and you should be fine, with vardiff giving you pseudoshare targets above 0. I just put in a suggestion to the p2pool repo that the minimum work ever served should be 1 (for sha256) or 1/X where X is the scrypt adjustment to the difficulty figure for that coin (it's in bitcoin/networks.py).
I just immediately reconnect when that happens. Have not had to use + anything but then again I have 5 Mh/s so it may be adjusting higher faster for me so when I reconnect the pseudo diff is already primed to be higher.
|
|
|
|
roy7
|
|
February 26, 2014, 06:57:36 PM |
|
I just immediately reconnect when that happens. Have not had to use + anything but then again I have 5 Mh/s so it may be adjusting higher faster for me so when I reconnect the pseudo diff is already primed to be higher.
The danger is like the guy who replied here https://github.com/forrestv/p2pool/issues/183You probably recognize him from irc. If he falls over to a backup pool then much later back to his own node, it might do nothing but HWs all day until he can manually fix it because of the 0 diff issue.
|
|
|
|
CartmanSPC
Legendary
Offline
Activity: 1270
Merit: 1000
|
|
February 27, 2014, 07:10:15 PM |
|
I just immediately reconnect when that happens. Have not had to use + anything but then again I have 5 Mh/s so it may be adjusting higher faster for me so when I reconnect the pseudo diff is already primed to be higher.
The danger is like the guy who replied here https://github.com/forrestv/p2pool/issues/183You probably recognize him from irc. If he falls over to a backup pool then much later back to his own node, it might do nothing but HWs all day until he can manually fix it because of the 0 diff issue. Yes, that is a problem Perhaps using cgwatcher can help. Not sure (haven't looked) but it may have a setting to watch for # of HW errors and restart the miner. If not then maybe we can make a feature suggestion.
|
|
|
|
|