def __init__(self, private_key, env: Optional[BinanceEnvironment] = None): super().__init__(env) self._private_key = private_key self._pk = PrivateKey(bytes(bytearray.fromhex(self._private_key))) self._public_key = self._pk.pubkey.serialize(compressed=True) self._address = address_from_public_key(self._public_key, self._env.hrp)
def public_key_to_address(public_key, prefix): """Convert a public key to an address :param public_key :type public_key: bytes :param prefix: (bnb or tbnb) :type prefix: str :returns: address """ address = address_from_public_key(public_key, prefix) return address
def private_key_to_address(private_key, prefix): """Convert a private key to an address :param private_key :type private_key: str :param prefix: (bnb or tbnb) :type prefix: str :returns: address """ public_key = private_key_to_public_key(private_key) address = address_from_public_key(public_key, prefix) return address
def test_address_from_public_key(): public_key_hex = b'02cce2ee4e37dc8c65d6445c966faf31ebfe578a90695138947ee7cab8ae9a2c08' assert address_from_public_key( public_key_hex) == 'tbnb1csdyysz0xqas7dlq754flfsmey8jwaxwgwaqdx'