Open curlysemi opened 5 years ago
Two ideas I've had to salvage this scheme to support 'searchability':
Also, another, simpler scheme is a 105-set of consonant-vowel pairings. It'd be 24 elements for an address, but that's really 48 characters.
Looks like I only removed BREVEs from thee consonants.
Here's a quick sketch to find the number of elements required to meet our target (the size of an Ethereum address):
TARGET=2**160
def find_length(set_size):
length = 1
while True:
if set_size**(length - 1) < TARGET and set_size**length >= TARGET:
return length
else:
length = length + 1
>>> find_length(41)
30
If we remove a few more characters from the sets, we only add 1 more character to the overall length, which isn't too bad. Instead of presenting accents for final disambiguation, we could use ANSI background colors for each character:
black
red
green
yellow
blue
magenta
cyan
white
For colorblind folk that don't want to deal with the accents, we could present shapes under/above each character.
I had to go down to 40 characters, as I decided to designate black
as the "clean" color (unaccented characters) since I didn't want to rely on whatever the user might've set as their background color.
Full numes are currently 31-characters long in v0.10.2-beta (dev branch).
Obviously, the character sets are not finalized. This issue can be for general character set discussion.
~I noticed an issue with the current consonants:~ ~R-CLEAN is currently after R-CEDILLA and R-CARON.~ ~Fixing this issue will be a breaking change.~ FIXED IN 98c6679530907d468bb7b211eda5a0735c57674b.
Also, I guess I'm mis-remembering, but I thought I took out all BREVEs since they are can be too hard to distinguish from CARONs. That may have been in an earlier version, though.