pass chain to get_target (fixes issue #316)
This commit is contained in:
@@ -113,7 +113,7 @@ class Blockchain(threading.Thread):
|
|||||||
height = header.get('block_height')
|
height = header.get('block_height')
|
||||||
|
|
||||||
prev_hash = self.hash_header(prev_header)
|
prev_hash = self.hash_header(prev_header)
|
||||||
bits, target = self.get_target(height/2016)
|
bits, target = self.get_target(height/2016, chain)
|
||||||
_hash = self.hash_header(header)
|
_hash = self.hash_header(header)
|
||||||
try:
|
try:
|
||||||
assert prev_hash == header.get('prev_block_hash')
|
assert prev_hash == header.get('prev_block_hash')
|
||||||
@@ -271,13 +271,17 @@ class Blockchain(threading.Thread):
|
|||||||
return h
|
return h
|
||||||
|
|
||||||
|
|
||||||
def get_target(self, index):
|
def get_target(self, index, chain=[]):
|
||||||
|
|
||||||
max_target = 0x00000000FFFF0000000000000000000000000000000000000000000000000000
|
max_target = 0x00000000FFFF0000000000000000000000000000000000000000000000000000
|
||||||
if index == 0: return 0x1d00ffff, max_target
|
if index == 0: return 0x1d00ffff, max_target
|
||||||
|
|
||||||
first = self.read_header((index-1)*2016)
|
first = self.read_header((index-1)*2016)
|
||||||
last = self.read_header(index*2016-1)
|
last = self.read_header(index*2016-1)
|
||||||
|
if last is None:
|
||||||
|
for h in chain:
|
||||||
|
if h.get('block_height') == index*2016-1:
|
||||||
|
last = h
|
||||||
|
|
||||||
nActualTimespan = last.get('timestamp') - first.get('timestamp')
|
nActualTimespan = last.get('timestamp') - first.get('timestamp')
|
||||||
nTargetTimespan = 14*24*60*60
|
nTargetTimespan = 14*24*60*60
|
||||||
|
|||||||
Reference in New Issue
Block a user