Updated offline miner

main
justuser31 2 years ago
parent 5aa30bfe40
commit 87e974916d

@ -0,0 +1,68 @@
from random import randint, random
from xxhash import xxh32
from time import time
# Settings
global zeros, MAX_NONCE
zeros = 6 #DON'T CHANGE!
MAX_NONCE = 10**10
# Generate fast hash
def sha(text):
text = str(text)
return xxh32(text).hexdigest()
# Check if hashes match
def check(new_hash, zeros):
if new_hash.startswith('0'*zeros):
return True
else:
return False
def mine(block):
start_time = time()
# New hash
text = block["ph"] + str(block["nonce"]) + block["ts"]
block["ph"] = sha(text)
while True:
text = block["ph"] + str(block["nonce"]) + block["ts"]
if check(sha(text), zeros):
print("NONCE: ", block["nonce"])
print("Hash: ", sha(text))
break
block["nonce"] = randint(1, MAX_NONCE)
print("--- %s seconds ---" % (time() - start_time))
return block
pblock = {
"ph": "5bb98b81",
"nonce": 1,
"ts": "Some transaction data"
}
# Block
ph = sha(pblock)
block = {
"ph": ph,
"nonce": 1,
"ts": "Some transaction data"
}
import data
#'''
while True:
block = mine(block)
# Write blocks
blocks = data.mine.read()
blocks.append(block)
data.mine.write(blocks)
#'''
#blocks = data.mine.read()
#print(len(blocks))
Loading…
Cancel
Save