Skip to content

Mnemonic phrase (Bitcoin BIP39) language with emojis. Also a converter tool.

License

Notifications You must be signed in to change notification settings

diegogurpegui/mnemojic-phrase

Repository files navigation

Mnemojic-phrase

The mnemonic languange that nobody asked for: emojis
And the tool that nobody asked for: the mnemomnic phrase lang converter.

Based on the BIP 39 spec.

The wordlist can be found here:
https://github.com/diegogurpegui/mnemojic-phrase/blob/master/utils/emoji.txt

Converter

The converter is just an automated tool that replaces each word in the phrase with the equivalent word for the same index/position in the destination language (eg. emoji).

Web interface

You have a web tool available here:
https://diegogurpegui.com/mnemojic-phrase

The files for that web version are automatically served from the "web" directory in this repo. Still, it uses third-party library so you should be VERY carefull when using it.

The website should be able to run 100% offline.

CLI interface

There is also a cli tool un Node.js that you can use by running:

$ node cli convert [options] <mnemonicPhrase>

Options:

  • --sourcelang <sourceLang>
    Source language
  • --destlang <destLang>
    Destination language
  • -h, --help
    Display help for command

The <mnemonicPhrase> is just the mnemonicPhrase.

Emojis selection and word list

I selected a group of 64 emojis that are combined with another group of 32 emojis to form 2048 two-emojis words.

The reason for this is that I wanted emojis that can occupy only one character, which leaves us with less than 2048 emojis (the required amount to have a BIP39 word list).

Since we cannot get to the 2048 emojis I decided to use two-emoji words. I selected 64 emojis from the "smiley faces" group and 32 emojis from the "hands and body" group. This was done arbitrarily based on emojis that are widely supported, look distinctively enough and take 4 bytes.

With that in mind, the 2048 words are formed like this:
<firstEmoji><secondEmoji>
Being the first emoji one from the list of 64, and the second emoji one from the list of 32. The final list is a combination generated by picking them in sequential order.

Final wordlist: https://github.com/diegogurpegui/mnemojic-phrase/blob/master/utils/emoji.txt

This mechanism and the fact that there are two groups of emojis allows the final mnemonic phrase to do without the spaces between words.

About

Mnemonic phrase (Bitcoin BIP39) language with emojis. Also a converter tool.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published