I have been trying to create a python bitcoin miner, that ACTUALLY puts the coins somewhere, so thats the first part of my quesiton, and the second part is how do I fix this error? This is all of my code: import hashlib import time max_nonce = 2 ** 32 # 4 billion def proof_of_work(header, difficulty_bits): # calculate the difficulty target target = 2 ** (256-difficulty_bits) for nonce in range(max_nonce): hash_result = hashlib.sha256(str(header)+str(nonce)).hexdigest() # check if this is a valid result, below the target if int(hash_result, 16) < target: print ("Success with nonce %d" % nonce) print ("Hash is %s" % hash_result) return (hash_result,nonce) print ("Failed after %d (max_nonce) tries" % nonce) return nonce if __name__ == '__main__': nonce = 0 hash_result = '' # difficulty from 0 to 31 bits for difficulty_bits in range(32): difficulty = 2 ** difficulty_bits print ("Difficulty: %ld (%d bits)" % (difficulty, difficulty_bits)) print ("Starting search...") # checkpoint the current time start_time = time.time() # make a new block which includes the hash from the previous block # we fake a block of transactions - just a string new_block = 'test block with transactions' + hash_result # find a valid nonce for the new block (hash_result, nonce) = proof_of_work((new_block, difficulty_bits).hexdigest() # checkpoint how long it took to find a result end_time = time.time() The line above this, The end_time seems to get an error, with no definition to what the error is. Please help. Please note that I have tried a great deal of commenting out a bunch of things, changing code, and this is in python 3 Continue reading...