From 5e70415cedb7abd364e8603ae6f4fbd7c8a44fe7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 16:45:31 +0000 Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- blockchain/proof_of_work.py | 55 +++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/blockchain/proof_of_work.py b/blockchain/proof_of_work.py index 4bf14106b..f0e8c3bfa 100644 --- a/blockchain/proof_of_work.py +++ b/blockchain/proof_of_work.py @@ -1,31 +1,32 @@ import hashlib import time -def proof_of_work(difficulty: int) -> int: - """ - Simulates a Proof of Work mining process. - - The miner must find a nonce such that the hash of the nonce starts - with a specific number of leading zeros (difficulty) - - Args: - difficulty (int): The number of leading zeros required in the hash. - Returns: - int: The nonce value that solves the puzzle. - - Example: - >>> result = proof_of_work(2) # Difficulty of 2 should be fast - >>> isinstance(result, int) - True - """ - prefix = '0' * difficulty - nonce = 0 - start = time.time() # Timing starts - while True: - hash_result = hashlib.sha256(f"{nonce}".encode()).hexdigest() - if hash_result.startswith(prefix): - end = time.time() # Timing ends - print(f"Time taken: {end - start:.2f}s") # Print time taken - return nonce - nonce += 1 +def proof_of_work(difficulty: int) -> int: + """ + Simulates a Proof of Work mining process. + + The miner must find a nonce such that the hash of the nonce starts + with a specific number of leading zeros (difficulty) + + Args: + difficulty (int): The number of leading zeros required in the hash. + Returns: + int: The nonce value that solves the puzzle. + + Example: + >>> result = proof_of_work(2) # Difficulty of 2 should be fast + >>> isinstance(result, int) + True + """ + prefix = "0" * difficulty + nonce = 0 + start = time.time() # Timing starts + + while True: + hash_result = hashlib.sha256(f"{nonce}".encode()).hexdigest() + if hash_result.startswith(prefix): + end = time.time() # Timing ends + print(f"Time taken: {end - start:.2f}s") # Print time taken + return nonce + nonce += 1