I came up with an idea for a new coin with only one noticeably different feature and was wondering if anyone would use it if I actually implemented it in C++. Technically, if you have an encoder and decoder you can use the same process on bitcoin addresses.
The idea is that instead of using addresses like 1EmojiDmVDncgFKC9ArrrXBf24B15JMFvY, we would use ☃◌😱♐😑☃⚁⚐♑☒😆シ☀☬😝♮☠⚄◀☻☀▽☬◨㋛😿△◇⚗
Example
Public key (base58): 1EmojiDmVDncgFKC9ArrrXBf24B15JMFvY
Private key (base58): 5J2wja7YG1sY9g9v3f78cB1i28cCpqwxkgdnRG9HEiPueHKNsQQ
Compressed public key hash (you can get this from bitaddress.org for example): 03DFB6489803727B49128DFD002CA4662075D73300D62CEFFEC4D2DA82B53ACD81
#!/usr/bin/env python3
#coding: utf8
EMOJI = u"☀☁☂☃☄★☆☇☈☉☊☋☌☍☎☏☐☑☒☓☔☕☖☗☘☙☚☛☜☝☞☟☠☡☢☣☤☥☦☧☨☩☪☫☬☭☮☯☸☹☺☻☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧♨♩♪♫♬♭♮♯♰♱♲♺♻♼♽♾♿⚀⚁⚂⚃⚄⚅⚆⚇⚈⚉⚐⚑⚒⚓⚔⚕⚖⚗⚘⚙⚚⚛😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😥😦😧😨😩😪😫😭😮😯😰😱😲😳😴😵😶😷😸😹😺😻😼😽😾😿■□▢▣▪▫▬▭▮▯▰▱▲△▶▷▼▽◀◁◆◇◈◉◊○◌◍◎●◐◑◒◓◖◗◢◣◤◥◦◧◨◩◪◫◬◭◮◯◸◹◺◻◼ツシ㋛㋡"
def encode(pubkey):
p = [int(pubkey[i:i+2], 16) for i in range(0, len(pubkey), 2)]
e = [EMOJI[n] for n in p]
emoji_address = "".join(e)
return emoji_address
def decode(emoji_address):
p = [EMOJI.index(c) for c in emoji_address]
return "0"+"".join([hex(n)[2:] for n in p])
print(decode("☃◌😱♐😑☃⚁⚐♑☒😆シ☀☬😝♮☠⚄◀☻☀▽☬◨㋛😿△◇⚗"))
print(encode("03DFB6489803727B49128DFD002CA4662075D73300D62CEFFEC4D2DA82B53ACD81"))
There is really no technical benefit to doing it this way, but neither is there any technical benefit to most alternate coins. I just think that it looks cute. Suggestions are welcome.