From 71470fe5f03e6690341af3c9fdfefc92c3472864 Mon Sep 17 00:00:00 2001 From: LanQian <5499636+LanQian528@users.noreply.github.com> Date: Thu, 16 May 2024 10:42:41 +0800 Subject: [PATCH] update pow --- chatgpt/proofofWork.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/chatgpt/proofofWork.py b/chatgpt/proofofWork.py index 5b5d964..339d2fd 100644 --- a/chatgpt/proofofWork.py +++ b/chatgpt/proofofWork.py @@ -6,6 +6,8 @@ import time from datetime import datetime, timedelta, timezone from html.parser import HTMLParser +from utils.Logger import logger + cores = [8, 12, 16, 24, 32] screens = [3000, 4000, 6000] timeLayout = "%a %b %d %Y %H:%M:%S" @@ -77,18 +79,23 @@ def calc_proof_token(seed, diff, config): def generate_answer(seed, diff, config): diff_len = len(diff) // 2 - for i in range(500000): + start = time.time() * 1000000 / 1000 + seed_encoded = seed.encode() + + for i in range(1000000): config[3] = i - config[9] = (i + 2) / 2 + config[9] = i json_data = json.dumps(config, separators=(',', ':'), ensure_ascii=False) base = base64.b64encode(json_data.encode()).decode() hasher = hashlib.sha3_512() - hasher.update((seed + base).encode()) + hasher.update(seed_encoded + base.encode()) hash_value = hasher.digest() if hash_value[:diff_len].hex() <= diff: + end = time.time() * 1000000 / 1000 + logger.info(f'seed: {seed}, diff: {diff}, count: {i}, time: {(end - start)}ms') return base - return "wQ8Lk5FbGpA2NcR9dShT6gYjU7VxZ4D" + base64.b64encode(f'"{seed}"'.encode()).decode() + return "wQ8Lk5FbGpA2NcR9dShT6gYjU7VxZ4D" + base64.b64encode(f'"{seed}"'.encode()).decode() def calc_config_token(config): global cached_require_proof, cached_time