X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=p2pool%2Fnode.py;h=85b501b187d1a826ded737a7a1681ca8f32e1078;hb=26e6e3712f2b58c509b095fd717cacef3bb7fbc9;hp=9b2176894f9ca51d158518692fff3c7fbd54426c;hpb=ab9375a07f845b7ce233bb6ef4b3d6d9ff08f310;p=p2pool.git diff --git a/p2pool/node.py b/p2pool/node.py index 9b21768..85b501b 100644 --- a/p2pool/node.py +++ b/p2pool/node.py @@ -181,17 +181,31 @@ class Node(object): self.bitcoind_work.set((yield helper.getwork(self.bitcoind, self.bitcoind_work.value['use_getblocktemplate']))) except: log.err() - yield defer.DeferredList([flag, deferral.sleep(15)], fireOnOneCallback=True) + yield defer.DeferredList([flag, deferral.sleep(5)], fireOnOneCallback=True) work_poller() # PEER WORK self.best_block_header = variable.Variable(None) + + self.pow_bits = variable.Variable(None) + self.pow_subsidy = 0 + self.last_block_time = 0 + def handle_header(new_header): + self.pow_bits = self.bitcoind_work.value['bits'] + self.pow_subsidy = self.bitcoind_work.value['subsidy'] + self.last_block_time = self.bitcoind_work.value['time'] + # check that header matches current target + # + # TODO: PoS (stake-modifier & modifier-checksum) checkings implementation + # if not (self.net.PARENT.POW_FUNC(bitcoin_data.block_header_type.pack(new_header)) <= self.bitcoind_work.value['bits'].target): return + bitcoind_best_block = self.bitcoind_work.value['previous_block'] + if (self.best_block_header.value is None or ( new_header['previous_block'] == bitcoind_best_block and