ipld/edelweiss

add type ByteString for backwards compat with IPLD schema

Ouverte

#16 ouverte le 11 mars 2022

 (5 commentaires) (0 réaction) (0 personne assignée)Go (5 forks)auto 404
good first issue

Métriques du dépôt

Stars
 (17 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Edelweiss type String definitionally holds valid Unicode strings only, and encodes/decodes them from IPLD strings with valid UTF8 encodings.

However, there may be pre-existing IPLD schemas that place non-UTF8 byte sequences in IPLD string objects. By design requirement, Edelweiss must provide a way for working with pre-existing schemas.

One way of doing this without violating Edelweiss's type semantics is to introduce a new Edelweiss type, say called ByteString, which:

  • is a list of bytes on the user-facing end
  • encodes/decodes as an IPLD string of arbitrary bytes on the wire

Guide contributeur