ipld/edelweiss

add type ByteString for backwards compat with IPLD schema

Aperta

#16 aperta il 11 mar 2022

 (5 commenti) (0 reazioni) (0 assegnatari)Go (5 fork)auto 404
good first issue

Metriche repository

Star
 (17 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor