Mnemonic seed with emojis instead of words. Evening fun project, without any real applications, just for fun.
You can generate a private key and show it as a sequence of emojis. This sequence has a checksum (like in electrum, derived from hash, not from the wordlist) and you can actually use these private and public keys in any wallet.
Emoji seed can be used in electrum directly:
A web page generates a random seed and represents it as a sequence of emojis:
All the emojis are unicode symbols, we can take a hash of this sequence and get the value. This hash should start with
01 to make sure there is no typo.
Hash is calculated like in electrum:
HMAC(key="Seed version", data="😡🎧💆🕋🎌🏣🚪😆👦📻🕯💷🤝☁️")
We can derive HD private and public keys from the hash:
Master private key
Master public key
With electrum everything is pretty simple: create a new wallet and enter emoji sequence as a seed. In other wallets import master private key instead.