def wif(self, compressed=False) -> str: from cryptotools.BTC import base58, sha256 from cryptotools.BTC.network import network extended = network('wif') + self.bytes() + (b'\x01' if compressed else b'') hashed = sha256(sha256(extended)) checksum = hashed[:4] return base58.encode(extended + checksum)
def hashed_payload_to_address(payload): checksum = sha256(sha256(payload))[:4] address = payload + checksum return base58.encode(address)
def encode(self): data = self.serialize() assert len(data) == 78 checksum = sha256(sha256(data))[:4] return base58.encode(data + checksum)