Skip to content

Clarify principal byte prefix #11

Description

@burdiyan

This spec defines byte prefixes for principals which seem to be non-conforming to the IPLD spec, because they use lowercase characters. From the IPLD docs:

They are represented as properly formed hexadecimal strings, using upper-case characters only.

On the other hand, there seems to be some confusion around numeric and varint representation of the multicodec values.

For example, this spec defines the byte prefix 0xed for Ed25519 public key, which in this case is a numeric value for the corresponding multicodec, i.e. it's a decimal number 237. But multicodecs are normally encoded as varints (e.g. in CIDs and in DID key format), and in this case the number 0xed has byte representation of 0xED01 (i.e. it uses 2 bytes). And apparently this byte prefix in IPLD schema would have to be defined as ED01 - uppercase and without 0x according to the examples.

I got this understanding after reading the spec and the corresponding docs, but I might be wrong, so please correct me if I missed something.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions