[Python] Python bitcoin miner not letting me define variable after mine

Discussão em 'Python' iniciado por Stack, Julho 9, 2025.

  1. Stack

    Stack Membro Participativo

    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...

Compartilhe esta Página