-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
i8n for mnemonics + checksum #162
Conversation
…r multiple new languages
…w one. CMakeLists.txt update.
… one without checksum is passed. Doxygen comment fix.
Ok so after a bit of fiddling, I can't see any way to realistically reduce the number of words from 25 down to something more manageable. The minute you get down to 15, which is more manageable, you end up requiring a wordlist of nearly 200k words (264-bits of entropy including checksum == pow(2, 264/15) == 198 669) Given that it's not practical to do that, even for English, and given that the difference between 25 words and 20 words is negligible, I think we stick to 25 (including checksum) based on a wordlist of 1626 words. This PR is, therefore, pretty much done and ready for broad testing:) |
@fluffypony What type of testing do you suggest? |
@fluffypony Please start looking at this. I don't think I'll have any substantial changes coming in. |
@oranjuice oh! sorry, I didn't realise that additional commits had been added, will add it to the testing list:) |
@fluffypony Just realized it was showing old English as an option. I removed that and changed indentation of some files from tabs to spaces. |
@oranjuice tks, I'll re-pull in a moment |
@oranjuice one last tweak (not in this PR, do it separately) - in a discussion with ThomasV from Electrum he mentioned that we should also check their is_CJK() method, as they use that to detect Japanese and remove spaces between the words. Here - https://github.com/spesmilo/electrum/blob/master/lib/mnemonic.py#L36 - you can see how they strip whitespace for CJK (Japanese) seeds. I have no clue how they then split it by word when the person enters a Japanese seed, haven't had time to look through, but the idea is there. |
…tation tabs to spaces.
Fix monero-project#6147 DB corruption from child process overwrite /monero#6148
The question of whether to support variable seed lengths or not still remains. As of now, it isn't left flexible.
It is hard-coded atm, although word list file size isn't.
I've not done the "50% match check". Instead I do a full check because the words are in files and haven't been populated into a map data structure yet when the wallet restoration is asked for. It really doesn't make a difference as I understood, because we need the entire file parsed any way even for a 50% match check.
Also I've not implemented the "4 letter check if checksum test passes" because it didn't really seem to achieve any substantial improvement in efficiency unless the words are really huge.
Let me know what you think.