Human Friendly Names #286
Description
We've been adding IPFS support to browsers via ipfs-companion, and I lean heavily on autocomplete to find things; I'll type out the first few characters to reduce the list of matches and then pick the one I want from the list.
My browser url bar autocomplete history now looks like
Seeing that reminded me of the wisdom of xkcd:
So @alanshaw and I got excited about the idea of adding an xkcd correct-horse-battery-staple
style multibase encoding, that would let us represent IPFS CIDs as sequences of random words rather than cryptic base58 hashes.
We used mnemonic.js to map byte arrays to words, so we called called it the mnemonic
base, and we got it successfully encoding and decoding in mutlibase as CID, and got a POC to have ipfs generate and resolve addresses in mnemonic base.
On announcing the idea, we were introduced to the already built in support for proquint encoding for IPNS PeerIds. From the IPFS whitepaper section 3.7.2 Human Friendly Names:
It would be useful to have a spec for how to support human-friendly encodings in IPFS CIDs and multibase. As a minimum it would be a win for consistency to support proquint encoded IPFS CIDs as they are already supported by go-ipfs.
Having tried out mnemonic encodings, they felt more natural and memorable than proquint. I'm not yet convinced that proquint is much better than base58, so I'm keen to see if there is any support for further investigation in to the ergonomics of a better human-friendly CID multibase encoding.