Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible beginner-friendly dev task: Support for textual Jamtis addresses #46

Open
rbrunner7 opened this issue Feb 5, 2023 · 0 comments

Comments

@rbrunner7
Copy link
Member

In workgroup meeting #11 handling of the textual form of Jamtis addresses was talked about as a possible dev task that we can already define reasonably well, is not too big or too complex and could be worked on without immediate problems of "bumping" into the work of others.

If somebody wants to start to work on this, please coordinate with @dangerousfreedom nevertheless because he did already work on this to some extent.

You find a general overview regarding Jamtis addresses and how they work here. The full reference is @tevador's Jamtis "paper", and there especially the chapter Address encoding.

So what is this about? We need functions that can parse textual Jamtis addresses, verify the checksum, and give back the result in some C++ struct that is the internal, "binary" representation of a Jamtis address. I would say that struct is JamtisDestinationV1, but better verify this when starting to work.

Jamtis uses a particular variant of Base32 for textual encoding, see here. So we need support to parse text to binary data and convert binary data to text in this Base32 variant. As far as I know dangerousfreedom already chose some open source conversion library that supports Base32, cut it down and modified the alphabet; personally I probably would write code to support this myself from scratch however so we really just have the code we need and "it's our own", but that's only MHO. Compare base58.cpp in the existing code to get an idea.

For the checksum algorithm and 3BI5PLC1, the generator to use, check here.

Of course we need also support for the other way round, from internal binary representation to text, part of this dev task as well.

I am not sure about the best possible location of this new code in the Monero source code tree, i.e. which folder to put this, so deciding on this seems to be part of the taks as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant