Husnain commited on
Commit
1e96a75
·
unverified ·
1 Parent(s): de66bec

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

Browse files
Files changed (1) hide show
  1. networks/proof_worker.py +20 -15
networks/proof_worker.py CHANGED
@@ -37,21 +37,24 @@ class ProofWorker:
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):
43
- config[3] = i
44
- json_str = json.dumps(config)
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__":
@@ -59,5 +62,7 @@ if __name__ == "__main__":
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
 
37
  ]
38
 
39
  def calc_proof_token(self, seed: str, difficulty: str):
40
+ try:
41
+ config = self.get_config()
42
+ diff_len = len(difficulty) // 2
43
+ for i in range(100000):
44
+ config[3] = i
45
+ json_str = json.dumps(config)
46
+ base = base64.b64encode(json_str.encode()).decode()
47
+ hasher = sha3_512()
48
+ hasher.update((seed + base).encode())
49
+ hash_val = hasher.digest().hex()
50
+ if hash_val[:diff_len] <= difficulty:
51
+ return "gAAAAAB" + base
52
+ self.proof_token = (
53
+ self.proof_token_prefix + base64.b64encode(seed.encode()).decode()
54
+ )
55
+ return self.proof_token
56
+ except Exception as e:
57
+ return str(e)
58
 
59
 
60
  if __name__ == "__main__":
 
62
  seed, difficulty = "0.42665582693491433", "05cdf2"
63
  worker = ProofWorker(user_name)
64
  proof_token = worker.calc_proof_token(seed, difficulty)
65
+ decoded_proof_token = base64.b64decode(proof_token.encode()).decode()
66
  print(f"proof_token: {proof_token}")
67
+ print(f"decoded_proof_token: {decoded_proof_token}")
68
  # python -m networks.proof_worker