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