testnet setup
This commit is contained in:
parent
f596d6e105
commit
48dada5f64
|
@ -63,19 +63,6 @@ def deserialize_header(f, height):
|
||||||
h['block_height'] = height
|
h['block_height'] = height
|
||||||
return h
|
return h
|
||||||
|
|
||||||
# def deserialize_header(f, height):
|
|
||||||
# h = {}
|
|
||||||
# h['version'] = struct.unpack("<I", f.read(4))[0]
|
|
||||||
# h['prev_block_hash'] = hash_to_str(f.read(32))
|
|
||||||
# h['merkle_root'] = hash_to_str(f.read(32))
|
|
||||||
# h['hash_reserved'] = hash_to_str(f.read(32))
|
|
||||||
# h['timestamp'] = struct.unpack("<I", f.read(4))[0]
|
|
||||||
# h['bits'] = struct.unpack("<I", f.read(4))[0]
|
|
||||||
# h['nonce'] = hash_to_str(f.read(32))
|
|
||||||
# h['n_solution'] = base64.b64encode(bytes(deser_char_vector(f))).decode('utf8')
|
|
||||||
# h['block_height'] = height
|
|
||||||
# return h
|
|
||||||
|
|
||||||
def sha256_header(header):
|
def sha256_header(header):
|
||||||
return uint256_from_bytes(Hash(serialize_header(header)))
|
return uint256_from_bytes(Hash(serialize_header(header)))
|
||||||
|
|
||||||
|
@ -199,8 +186,8 @@ class Blockchain(util.PrintError):
|
||||||
prev_header = self.read_header(index * NetworkConstants.CHUNK_SIZE - 1)
|
prev_header = self.read_header(index * NetworkConstants.CHUNK_SIZE - 1)
|
||||||
|
|
||||||
for i in range(num):
|
for i in range(num):
|
||||||
raw_header = data[i*bitcoin.HEADER_SIZE:(i+1) * bitcoin.HEADER_SIZE]
|
raw_header = data[i * bitcoin.HEADER_SIZE : (i + 1) * bitcoin.HEADER_SIZE]
|
||||||
header = deserialize_header(raw_header, index*NetworkConstants.CHUNK_SIZE + i)
|
header = deserialize_header(raw_header, index * NetworkConstants.CHUNK_SIZE + i)
|
||||||
self.verify_header(header, prev_header)
|
self.verify_header(header, prev_header)
|
||||||
prev_header = header
|
prev_header = header
|
||||||
|
|
||||||
|
|
|
@ -950,15 +950,18 @@ class Network(util.DaemonThread):
|
||||||
def init_headers_file(self):
|
def init_headers_file(self):
|
||||||
b = self.blockchains[0]
|
b = self.blockchains[0]
|
||||||
filename = b.path()
|
filename = b.path()
|
||||||
open(filename, 'wb+').close()
|
|
||||||
self.downloading_headers = False
|
if NetworkConstants.TESTNET:
|
||||||
return
|
if not os.path.exists(filename) or b.get_hash(0) != NetworkConstants.GENESIS:
|
||||||
|
open(filename, 'wb+').close()
|
||||||
print(b.get_hash(0), NetworkConstants.GENESIS)
|
with b.lock: b.update_size()
|
||||||
if b.get_hash(0) == NetworkConstants.GENESIS:
|
|
||||||
self.downloading_headers = False
|
self.downloading_headers = False
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if b.get_hash(0) == NetworkConstants.GENESIS:
|
||||||
|
self.downloading_headers = False
|
||||||
|
return
|
||||||
|
|
||||||
def download_thread():
|
def download_thread():
|
||||||
try:
|
try:
|
||||||
import urllib, socket
|
import urllib, socket
|
||||||
|
@ -981,7 +984,6 @@ class Network(util.DaemonThread):
|
||||||
t.start()
|
t.start()
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
print('zzzzzzzzzzzzzzzzzzzz')
|
|
||||||
self.init_headers_file()
|
self.init_headers_file()
|
||||||
while self.is_running() and self.downloading_headers:
|
while self.is_running() and self.downloading_headers:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
|
@ -614,7 +614,7 @@ class SocketPipe:
|
||||||
if err.errno == 60:
|
if err.errno == 60:
|
||||||
raise timeout
|
raise timeout
|
||||||
elif err.errno in [11, 35, 10035]:
|
elif err.errno in [11, 35, 10035]:
|
||||||
print_error("socket errno %d (resource temporarily unavailable)"% err.errno)
|
# print_error("socket errno %d (resource temporarily unavailable)"% err.errno)
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
raise timeout
|
raise timeout
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue