ipld/edelweiss

add type ByteString for backwards compat with IPLD schema

Offen

#16 geöffnet am 11.03.2022

 (5 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Go (5 Forks)auto 404
good first issue

Repository-Metriken

Stars
 (17 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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

Contributor Guide