New Go Library: Human-Readable CID Conversion for IPFS

Hi everyone,

I’m excited to share a small Golang library I developed.. This tool converts IPFS CIDv1 hashes into human-readable strings and vice versa, aiming to make content identifiers more accessible and memorable.

Key Features:

  • Utilizes a 2048-word list to generate 24–27 word dash-concatenated strings.
  • Facilitates easier content recognition and sharing.
  • Supports bidirectional conversion between CIDv1 and human-readable formats.

The inspiration behind this project is to enhance the usability of IPFS by providing a more intuitive way to handle content identifiers. I believe this could be particularly useful for applications where user-friendly CIDs are beneficial.

I welcome any feedback, contributions, or discussions on potential use cases. Additionally, if anyone is interested in porting this to other languages, I’d be glad to collaborate.

You can find the project here: https://github.com/GuillaumeOuint/ipfs-human-readable-cid

Looking forward to your thoughts!

Best regards,
Guillaume

Nice!

What about an emoji mode, where the words are replaced by emojis? It might seem silly, but it helps a lot of people to have a visual clue. Tor Browser uses it for users to distinguish between different bridges. You’d have to eliminate similar emojis of course.

Dropped some comments/ideas in: README: clarify support limited to CIDv0 and lossy CIDv1 reconstruction Β· Issue #1 Β· GuillaumeOuint/ipfs-human-readable-cid Β· GitHub

fwiw base256emoji already exists:

$ ipfs cid format bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi -b base256emoji
πŸš€πŸͺβ­πŸ’»πŸ˜…β“πŸ’ŽπŸŒˆπŸŒΈπŸŒšπŸ’°πŸ’πŸŒ’πŸ˜΅πŸΆπŸ’πŸ€πŸŒŽπŸ‘ΌπŸ™ƒπŸ™…β˜ΊπŸŒšπŸ˜žπŸ€€β­πŸš€πŸ˜ƒβœˆπŸŒ•πŸ˜šπŸ»πŸ’œπŸ·βš½βœŒπŸ˜Š