YES: I am using https://github.com/justino/p2pool-ui-punchyI have never seen the "exceptions.KeyError: 'incoming_peers'" error before. Are you using a custom web UI?
I'm not sure that's entirely true if you are a single miner. Right now if a single miner joins a node running your ver of P2Pool for LTC at least (and there are a ton of single miners scattered throughout the world) the diff rate is through the roof (18K +) and it makes it almost impossible to get a share. It means a miner gets on and basically gives up after 10+ hours when nothing effectively happens. I'v seen share times up to 48 Hours. Unless they join a discussion group or have a friend on P2Pool who can explain what's going on they just give up entirely on P2Pool as a viable mining option.The best repo to use is mine.
jtoomim, I speak for several miners who have fallen off the block chain with single L3's. I understand there may be a difficulty fix in the work, but I want to put something very important into perspective.I'm not sure that's entirely true if you are a single miner. Right now if a single miner joins a node running your ver of P2Pool for LTC at least (and there are a ton of single miners scattered throughout the world) the diff rate is through the roof (18K +) and it makes it almost impossible to get a share. It means a miner gets on and basically gives up after 10+ hours when nothing effectively happens. I'v seen share times up to 48 Hours. Unless they join a discussion group or have a friend on P2Pool who can explain what's going on they just give up entirely on P2Pool as a viable mining option.The best repo to use is mine.
Im not sure (read I know) what type of message that sends to new miners and their first mining experience on the platform. I would have thought trying to retain single miners was as important as trying to retain big farms. It all adds to the big picture. 30 nodes each with 30 single miners is a ton of miners that could be adding hash power to the platform. I am making those figures up but I can only imagine how many miners are coming to the platform and quickly leaving with a goal of never to return. It just isn't good PR.
That's my 2cents anyway. Terrible 1st post but I thought I'd get it out there. Now I feel better
CK
I have merged the feechecking branch into 1mb_segwit and added a commit to 1mb_segwit that should address your issue. The issue is that v16 shares do not support Segwit transactions on Litecoin, but v17 shares do, and the code was set up to start with v16 shares on new sharechains.exceptions.ValueError: segwit transaction included before activation
... trying to make it work as a solo mining for LTC
I don't have enough time to help, sorry. I addressed a similar issue for Litecoin because I was mining on LItecoin, but that took about 30 hours of work to solve.The problem is that the owner of the node does not have an algorithm in the configuration of the daemon, and its node generates orphan blocks
jtoomim, can you help?
Thank you so much for helping! But i couldn't see any commit on the 1mb_segwit. The last one was 3 days ago.I have merged the feechecking branch into 1mb_segwit and added a commit to 1mb_segwit that should address your issue. The issue is that v16 shares do not support Segwit transactions on Litecoin, but v17 shares do, and the code was set up to start with v16 shares on new sharechains.exceptions.ValueError: segwit transaction included before activation
... trying to make it work as a solo mining for LTC
Thank you!Forgot to push to github, sorry. Check again.
Code: Select all
Share check failed: bfadcebc2e0a9c47c0ceecf77386a6251a66f6fcd1db4b1dc6c416fc3a91b18d -> 0000000000000000000000000000000000000000000000000000000000000000
Traceback (most recent call last):
File "/home/ialmeida/p2poolSolo/p2pool/bitcoin/worker_interface.py", line 136, in <lambda>
lambda header, user, coinbase_nonce: handler(header, user, pack.IntType(self._my_bits).pack(nonce) + coinbase_nonce),
File "/home/ialmeida/p2poolSolo/p2pool/work.py", line 485, in got_response
self.node.set_best_share()
File "/home/ialmeida/p2poolSolo/p2pool/node.py", line 300, in set_best_share
best, desired, decorated_heads, bad_peer_addresses, self.punish= self.tracker.think(self.get_height_rel_highest, self.get_height, self.bitcoind_work.value['previous_block'], self.bitcoind_work.value['bits'], self.known_txs_var.value, self.feecache)
File "/home/ialmeida/p2poolSolo/p2pool/data.py", line 652, in think
if self.attempt_verify(share, block_abs_height_func, known_txs, feecache):
--- <exception caught here> ---
File "/home/ialmeida/p2poolSolo/p2pool/data.py", line 630, in attempt_verify
share.check(self, known_txs, block_abs_height_func=block_abs_height_func, feecache=feecache)
File "/home/ialmeida/p2poolSolo/p2pool/data.py", line 483, in check
if tracker.items[self.share_data['previous_share_hash']].naughty:
exceptions.KeyError: None
Code: Select all
2018-03-29 12:26:04.589426 GOT SHARE! ikolu.1 5878eeec prev xxxxxxxx age 110.86s
2018-03-29 12:26:04.591264 > Share check failed: 36dc4f8946784eb7126bc68b40990f9c6f614d9e65a8a9bd245e2bf55878eeec -> 0000000000000000000000000000000000000000000000000000000000000000
2018-03-29 12:26:04.591513 > Traceback (most recent call last):
2018-03-29 12:26:04.591733 > File "/root/p2pool/p2pool/bitcoin/worker_interface.py", line 136, in <lambda>
2018-03-29 12:26:04.591898 > lambda header, user, coinbase_nonce: handler(header, user, pack.IntType(self._my_bits).pack(nonce) + coinbase_nonce),
2018-03-29 12:26:04.592081 > File "/root/p2pool/p2pool/work.py", line 485, in got_response
2018-03-29 12:26:04.592231 > self.node.set_best_share()
2018-03-29 12:26:04.592385 > File "/root/p2pool/p2pool/node.py", line 300, in set_best_share
2018-03-29 12:26:04.592543 > best, desired, decorated_heads, bad_peer_addresses, self.punish= self.tracker.think(self.get_height_rel_highest, self.get_height, self.bitcoind_work.value['previous_block'], self.bitcoind_work.value['bits'], self.known_txs_var.value, self.feecache)
2018-03-29 12:26:04.592714 > File "/root/p2pool/p2pool/data.py", line 652, in think
2018-03-29 12:26:04.592875 > if self.attempt_verify(share, block_abs_height_func, known_txs, feecache):
2018-03-29 12:26:04.593053 > --- <exception caught here> ---
2018-03-29 12:26:04.593163 > File "/root/p2pool/p2pool/data.py", line 630, in attempt_verify
2018-03-29 12:26:04.593267 > share.check(self, known_txs, block_abs_height_func=block_abs_height_func, feecache=feecache)
2018-03-29 12:26:04.593396 > File "/root/p2pool/p2pool/data.py", line 483, in check
2018-03-29 12:26:04.593499 > if tracker.items[self.share_data['previous_share_hash']] and tracker.items[self.share_data['previous_share_hash']].naughty:
2018-03-29 12:26:04.593612 > exceptions.KeyError: None
Code: Select all
if tracker.items[self.share_data['previous_share_hash']] and tracker.items[self.share_data['previous_share_hash']].naughty:
Code: Select all
if self.share_data['previous_share_hash'] and tracker.items[self.share_data['previous_share_hash']].naughty:
I've found out what was causing the problem. I also have the https://github.com/hardcpp/P2PoolExtendedFrontEnd in subdirectory that my friend uses sometimes. The error is generated when you use the Graph tab (graphs.html)YES: I am using https://github.com/justino/p2pool-ui-punchyI have never seen the "exceptions.KeyError: 'incoming_peers'" error before. Are you using a custom web UI?
Code: Select all
plot_later(d3.select("#peers"), "", null, [
{"url": "/web/graph_data/outgoing_peers/last_" + lowerperiod, "color": "#FF0000", "label": "Outgoing"},
{"url": "/web/graph_data/incoming_peers/last_" + lowerperiod, "color": "#0000FF", "label": "Incoming"}
], true);
Code: Select all
plot_later(d3.select("#local_shares"), "H/s", "H", [
{"url": "/web/graph_data/local_share_hash_rate/last_" + lowerperiod, "color": "#0000FF", "label": "Total"},
//{"url": getData("/web/graph_data/local_dead_share_hash_rate/last_" + lowerperiod, "color": "#FF0000", "label": "Dead"}
]);
That did the trick!ikolu: can you try changing that line fromtoCode: Select all
if tracker.items[self.share_data['previous_share_hash']] and tracker.items[self.share_data['previous_share_hash']].naughty:
and tell me if it works? In retrospect, I think I misjudged what part of it was evaluating to "None", but I don't have time to set up a test environment for that bug right now.Code: Select all
if self.share_data['previous_share_hash'] and tracker.items[self.share_data['previous_share_hash']].naughty:
Code: Select all
stale_prop = p2pool_data.get_average_stale_prop(node.tracker, node.best_share_var.value, lookbehind)
Code: Select all
def get_average_stale_prop(tracker, share_hash, lookbehind):
stales = sum(1 for share in tracker.get_chain(share_hash, lookbehind) if share.share_data['stale_info'] is not None)
return stales/(lookbehind + stales)
Hi! My node without restarting.Restarting your BTC nodes will get rid of the problem. If anybody can afford to leave their node online and in a buggy state, I could use it for debugging and analysis, so it would be appreciated if you could leave one online and send me the IP address. I'm about to hop on a 12-hour flight, but I'll look into what's going on when I get back.
http://ml.toom.im:9334/static/graphs.html?DayIf anybody can afford to leave their node online and in a buggy state, I could use it for debugging and analysis,...
Users browsing this forum: No registered users and 14 guests