import sys import hashlib # Constants GENESIS_STR = 'This is the genesis hash' # Specify buffer size BUF_SIZE = 65536 # 64kB chunks! def hashfile(filename): sha256 = hashlib.sha256() with open(filename, 'rb') as f: while True: data = f.read(BUF_SIZE) if not data: break sha256.update(data) return sha256.hexdigest() def hashdata(data): sha256 = hashlib.sha256(data.encode()) return sha256.hexdigest() # Constant! GENESIS_HASH = hashdata(GENESIS_STR) # sample txstring txstring = '[bda69a82e78a76416acc657e043165d6045ef849e4bf59189b2293e950c7f165, datetime, 1, 3, 40304.50]' def gen_txhash(txstring): # Generates a transaction hash from # transaction data # Return new transaction hash return hashdata(txstring) def append_tx(txhash, pbhash): # Takes transaction hash and # appends to previous block hash inputs = f'[{pbhash}, {txhash}]' # Return new block hash return hashdata(inputs)