Base 58 ⇒ Base 32

I’m in the process of changing the encoding of hashes from base58 to base32. The main reason to do this is to be able to use unique prefixes of hashes as shorthands in all commands. Also, the internal identifiers will then always be prefixes of hashes (except maybe on the last character).

This will cause an important disruption when released, but I will provide a script to convert repositories (and apply it automatically to all Nest repositories).

I am planning on releasing that at the same time as the new repository format, hopefully solving our disk usage issues. And then we’ll declare that 1.0 I guess.


Is translation to BLAKE2 still planned?

This would be a very good first feature to implement!

EDIT: by this I mean I’m willing to mentor someone to try and implement it.

Is this opportunity still open?

I had a prototype implementation at some point, but didn’t go the whole way through.
I’m now working on reducing the disk usage (I’ve made good progress on the complexity, I have a prototype, separate from Pijul, where the disk usage is a function of the number of edits rather than lines). Since that will probably cost us another patch format and repo format change, the next release would be a good time to do it.

Do you want to take care of this? You can start a discussion and develop it in there if you want.

1 Like

Sorry I was trying to add a user picture … okay yeah I’m down.

I’m not totally sure what exactly the requirements are but I’d like to start contributing.

(note: I’m currently finding a job and doing interviews all the time so I may be a bit sporadic in my involvement until I get solid ground under my feet)