Husnain commited on
Commit
d387c32
·
unverified ·
1 Parent(s): 9a41af6

✨ [Enhance] Add support for user-defined name in ProofWorker class

Browse files
Files changed (1) hide show
  1. networks/proof_worker.py +13 -9
networks/proof_worker.py CHANGED
@@ -9,7 +9,8 @@ from constants.headers import OPENAI_GET_HEADERS
9
 
10
 
11
  class ProofWorker:
12
- def __init__(self, difficulty=None, required=False, seed=None):
 
13
  self.difficulty = difficulty
14
  self.required = required
15
  self.seed = seed
@@ -35,7 +36,7 @@ class ProofWorker:
35
  OPENAI_GET_HEADERS["User-Agent"],
36
  ]
37
 
38
- def calc_proof_token(self, seed: str, difficulty: str, user_id: str):
39
  config = self.get_config()
40
  diff_len = len(difficulty) // 2
41
  for i in range(100000):
@@ -44,16 +45,19 @@ class ProofWorker:
44
  base = base64.b64encode(json_str.encode()).decode()
45
  hasher = sha3_512()
46
  hasher.update((seed + base).encode())
47
- hash = hasher.digest().hex()
48
- if hash[:diff_len] <= difficulty:
49
  return "gAAAAAB" + base
50
-
51
- raise RuntimeError("Proof token couldn't be generated")
 
 
52
 
53
 
54
  if __name__ == "__main__":
 
55
  seed, difficulty = "0.42665582693491433", "05cdf2"
56
- user_id = "Niansuh"
57
- worker = ProofWorker()
58
- proof_token = worker.calc_proof_token(seed, difficulty, user_id)
59
  print(f"proof_token: {proof_token}")
 
 
9
 
10
 
11
  class ProofWorker:
12
+ def __init__(self, user_name, difficulty=None, required=False, seed=None):
13
+ self.user_name = user_name
14
  self.difficulty = difficulty
15
  self.required = required
16
  self.seed = seed
 
36
  OPENAI_GET_HEADERS["User-Agent"],
37
  ]
38
 
39
+ def calc_proof_token(self, seed: str, difficulty: str):
40
  config = self.get_config()
41
  diff_len = len(difficulty) // 2
42
  for i in range(100000):
 
45
  base = base64.b64encode(json_str.encode()).decode()
46
  hasher = sha3_512()
47
  hasher.update((seed + base).encode())
48
+ hash_val = hasher.digest().hex()
49
+ if hash_val[:diff_len] <= difficulty:
50
  return "gAAAAAB" + base
51
+ self.proof_token = (
52
+ self.proof_token_prefix + base64.b64encode(seed.encode()).decode()
53
+ )
54
+ return self.proof_token
55
 
56
 
57
  if __name__ == "__main__":
58
+ user_name = "Niansuh"
59
  seed, difficulty = "0.42665582693491433", "05cdf2"
60
+ worker = ProofWorker(user_name)
61
+ proof_token = worker.calc_proof_token(seed, difficulty)
 
62
  print(f"proof_token: {proof_token}")
63
+ # python -m networks.proof_worker