Skip to content

Hierarchy of Multiformats #63

@ben221199

Description

@ben221199

Hello there.

I looked around in the Multiformats-specs. I found the following protocols: multiformat, multibase, multicodec, multiaddr and multihash. In this case, multiformat seems to be the overall protocol. That is why the project is called Multiformats. Next is multibase; it is a multiformat and has its own representation. Also, its code table is seperate from the other one, multicodec. Next is multicodec, it is also a multiformat, but doesn't have its own representation, but it has a code table, seperate from multibase. Next is multiaddr; it is also a multiformat, and has a representation and it uses the multicodec code table. At last is multihash, like multiaddr it is also multiformat, has its own representation and uses the multicodec table.

If I think about above, I have a feeling there is some hierarchy here. In my opinion it seems like this:

  • 📁 Multiformat
    • 📄 Multibase
    • 📁 Multicodec
      • 📄 Multiaddr
      • 📄 Multihash

In this case, level 1 (Multiformat) is the whole multi(format)-project, level 2 are protocols that have their own table; level 3 are protocols that use the codes of their level 2 parents. The 📁 don't have their own binary/human-representation, the 📄 do.

My question is: are my thoughts correct?

Also, if this is the case, isn't it useful to documentate it in some way? It gives more structure to the project and it also more clear how to add new protocols (adding a level 2 or a level 3 protocol).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions