A collection of protocols which aim to future-proof systems, today. They do this mainly by enhancing format values with self-description. This allows interoperability, protocol agility, and helps us avoid lock in.

The self-describing aspects of the protocols have a few stipulations:

Unsigned-varint

VARiable INTeger format used in all the multiformats. The encoding is:

Refer unsigned-varint spec for details.

Multibase

Base encoding is converting binary-data to plain-text. There are several base-encoding definitions that can convert binary-data to a small subset of, typically, ASCII code. Purpose,

Refer multibase for details.

Multicodec

Multicodec is an agreed-upon codec table. It is designed for use in binary representations, such as keys or identifiers (i.e CID). Find the canonical table of multicodecs at [table.csv].

Refer multicodec spec for details.

Reference:

List of active multiformat specification(s).

There are other implementations that can suite your need better: