Skip to main content

PublicKey

PublicKey Objects

class PublicKey(PublicKeyProtocol)

Enum of valid public keys for the signature schemes supported by IOTA.

BCS

The BCS serialized form for this type is defined by the following ABNF:

public-key = %d00 ed25519-public-key /
%d01 secp256k1-public-key /
%d02 secp256r1-public-key /
%d04 passkey-public-key

The gap in the flag values is intentional, as not all signature scheme support public keys.

There is also a base64 encoding for this type defined as:

base64-public-key = string ; which is valid base64 encoded
; and the decoded bytes are defined
; by flagged-public-key
flagged-public-key = (ed25519-flag ed25519-public-key) /
(secp256k1-flag secp256k1-public-key) /
(secp256r1-flag secp256r1-public-key) /
(passkey-flag passkey-public-key)

from_base64

@classmethod
def from_base64(cls, s: str) -> PublicKey

Decode a public key from a base64 string of its scheme-flagged byte representation

to_base64

def to_base64() -> str

Encode this public key as a base64 string of its scheme-flagged byte representation