iscc / iscc-specs

ISCC: International Standard Content Code
http://iscc.codes
Other
47 stars 9 forks source link

Clearly define the base58 alphabet #90

Open OR13 opened 3 years ago

OR13 commented 3 years ago

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.

OR13 commented 3 years ago

if the alphabets are the same, but the ordering is different, thats going to make developers very sad.

OR13 commented 3 years ago

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

titusz commented 3 years ago

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!

OR13 commented 3 years ago

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 :)

dmitrizagidulin commented 3 years ago

+1 to what @OR13 said, on all counts. Custom alphabet not worth it.