Exemplo n.º 1
0
 def keyFromSignature(self, msg, signature):
     msgHash = self.hash256(msg)
     sigBin = base58.b58decode(signature)
     rp = ord(sigBin[:1]) - ord('0')
     vklist = VerifyingKey.from_public_key_recovery_with_digest(
         sigBin[1:], msgHash, curve=SECP256k1)
     return vklist[rp]
Exemplo n.º 2
0
 def sign(self, msg):
     msgHash = self.hash256(msg)
     sig = self.private.sign_digest(msgHash, k=162897322)
     vklist = VerifyingKey.from_public_key_recovery_with_digest(
         sig, msgHash, curve=SECP256k1)
     rp = None
     if self.address(vklist[0].to_string('compressed')) == self.address():
         rp = '30'
     if self.address(vklist[1].to_string('compressed')) == self.address():
         rp = '31'
     if rp:
         sig = rp + sig.encode('hex')
     return base58.b58encode(sig.decode('hex'))