DoublePublicKey

class blsct.DoublePublicKey(obj: Any = None)

The unique source from which an address is derived.

Instantiating a DoublePublicKey object without a parameter returns a DoublePublicKey consisting of two randomly generated PublicKeys.

>>> from blsct import DoublePublicKey, PublicKey, Scalar
>>> DoublePublicKey()
DoublePublicKey(889636dce7b7706ad4...)
>>> view_key = PublicKey()
>>> spend_key = PublicKey()
>>> DoublePublicKey.from_view_and_spend_keys(view_key, spend_key)
DoublePublicKey(8284d61a300241dcbe...)
>>> vk = Scalar()
>>> spending_pk = PublicKey()
>>> DoublePublicKey.from_keys_acct_addr(vk, spending_pk, 1, 2)
DoublePublicKey(8eb6d5f160935d06a1a...)
>>> dpk = DoublePublicKey()
>>> ser = dpk.serialize()
>>> deser = DoublePublicKey.deserialize(ser)
>>> deser.serialize() == ser
True
classmethod deserialize(hex: str) → Self

Deserialize the DoublePublicKey from a hexadecimal string

classmethod from_keys_acct_addr(view_key: Scalar, spending_pub_key: PublicKey, account: int, address: int) → Self

Create a DoublePublicKey from a view key, spending public key, account, and address.

classmethod from_view_and_spend_keys(view_key: PublicKey, spend_key: PublicKey) → Self

Create a DoublePublicKey from view and spend PublicKeys.

serialize() → str

Serialize the DoublePublicKey to a hexadecimal string