def mine_from_prev_block(prev_block, rounds=STANDARD_ROUNDS, start_nonce=0, timestamp=None): new_block = utils.create_new_block_from_prev(prev_block=prev_block, timestamp=timestamp) return mine_block(new_block, rounds=rounds, start_nonce=start_nonce)
def mine_first_block(): first_block = utils.create_new_block_from_prev(prev_block=None, data='First block.') first_block.update_self_hash()#calculate_hash(index, prev_hash, data, timestamp, nonce) while str(first_block.hash[0:NUM_ZEROS]) != '0' * NUM_ZEROS: first_block.nonce += 1 first_block.update_self_hash() assert first_block.is_valid() return first_block
def mine_from_prev_block(prev_block, rounds=STANDARD_ROUNDS, start_nonce=0, timestamp=None): # create new block with correct new_block = utils.create_new_block_from_prev(prev_block=prev_block, timestamp=timestamp, data=data) return mine_block(new_block, rounds=rounds, start_nonce=start_nonce)
def mine_from_prev_block(prev_block, rounds=STANDARD_ROUNDS, start_nonce=0, timestamp=None): ''' mine the next block, given a previous block ''' new_block = create_new_block_from_prev(prev_block=prev_block, timestamp=timestamp) return mine_block(new_block, rounds=rounds, start_nonce=start_nonce)
def mine_first_block(): ''' Every blockchain need it's genesis yo ''' first_block = utils.create_new_block_from_prev(prev_block=None, data='First block yo.') first_block.update_self_hash() while str(first_block.hash[0:NUM_ZEROS]) != '0' * NUM_ZEROS: first_block.nonce += 1 first_block.update_self_hash() assert first_block.is_valid() return first_block
def mine_from_prev_block(prev_block, rounds=STANDARD_ROUNDS, start_nonce=0, timestamp=None): #create new block with correct new_block = utils.create_new_block_from_prev(prev_block=prev_block, timestamp=timestamp) return mine_block(new_block, rounds=rounds, start_nonce=start_nonce)
assert blockchain != another_blockchain assert not blockchain <= another_blockchain assert blockchain >= another_blockchain assert blockchain > another_blockchain assert another_blockchain < blockchain ''' ##################################### # # Mining # ##################################### ''' with freeze_time(zt): poss_block_zero = utils.create_new_block_from_prev(data='Mine test block zero.') mine_test_block_zero = utils.find_valid_nonce(poss_block_zero) with freeze_time(ft): poss_block_one = utils.create_new_block_from_prev(prev_block=mine_test_block_zero, data='Mine test block one.') mine_test_block_one = utils.find_valid_nonce(poss_block_one) with freeze_time(st): poss_block_two = utils.create_new_block_from_prev(prev_block=mine_test_block_one, data='Mine test block two.') mine_test_block_two = utils.find_valid_nonce(poss_block_two) with freeze_time(tt): poss_block_three = utils.create_new_block_from_prev(prev_block=mine_test_block_two, data='Mine test block three.') mine_test_block_three = utils.find_valid_nonce(poss_block_three)
assert blockchain != another_blockchain assert not blockchain <= another_blockchain assert blockchain >= another_blockchain assert blockchain > another_blockchain assert another_blockchain < blockchain ''' ##################################### # # Mining # ##################################### ''' with freeze_time(zt): poss_block_zero = utils.create_new_block_from_prev(data='Mine test block zero.') mine_test_block_zero = utils.find_valid_nonce(poss_block_zero) with freeze_time(ft): poss_block_one = utils.create_new_block_from_prev(prev_block=mine_test_block_zero, data='Mine test block one.') mine_test_block_one = utils.find_valid_nonce(poss_block_one) with freeze_time(st): poss_block_two = utils.create_new_block_from_prev(prev_block=mine_test_block_one, data='Mine test block two.') mine_test_block_two = utils.find_valid_nonce(poss_block_two) with freeze_time(tt): poss_block_three = utils.create_new_block_from_prev(prev_block=mine_test_block_two, data='Mine test block three.') mine_test_block_three = utils.find_valid_nonce(poss_block_three) print mine_test_block_three.__dict__