iscc-specs
iscc-specs copied to clipboard
Clearly define the base58 alphabet
https://iscc.codes/specification/#base58-iscc
https://tools.ietf.org/id/draft-msporny-base58-01.html
https://w3c.github.io/did-core/#bib-base58
most people think of "base58" as "base58btc" the one used by bitcoin.... it would be excellent to clearly communicate which version of base58 is being used.
if the alphabets are the same, but the ordering is different, thats going to make developers very sad.
on the call, it was suggested that base-32 will be used in the future, in which case, i suggest aligning with:
https://github.com/ipfs/js-ipfs/issues/1995
Yes base32 encoding is on its way (see: https://github.com/iscc/iscc-specs/blob/develop/iscc/codec.py#L183). The switch is planned to be included with the upcoming 1.1 release. I created a separate issue for that.
One open question is if we want to use a custom alphabet. A custom alphabet would have the advantage of providing human readable mnemonic prefixes such that ISCC component types can be recognized easily by humans. But I am not sure if it is worth to deviate from the standard alphabet to support human readability.
I am interested to hear what do others think about this!
I'm strongly against a custom alphabet... from a developer perspective, it extra work... and I don't see it as "worth it".
You can use https://iancoleman.io/bip39/ , I would not recommend reinventing this wheel it distracts from the core value you are providing :)
+1 to what @OR13 said, on all counts. Custom alphabet not worth it.