Update proof_of_work.py

This commit is contained in:
DIVYASREE S 2024-10-10 22:46:12 +05:30 committed by GitHub
parent 5d87a84ca0
commit 9403de6894
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,12 +1,11 @@
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
The miner must find a nonce such that the hash of the nonce starts
with a specific number of leading zeros (difficulty).
Args:
@ -20,13 +19,11 @@ def proof_of_work(difficulty: int) -> int:
>>> isinstance(result, int)
True
"""
prefix = "0" * difficulty
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
return nonce
nonce += 1