HIVE username Regex | Round 2

in HiveDevs2 years ago

hive_username_regex_checker_round_2.jpg


Yesterday I made a post about a HIVE username Regex & an open-source tester against the 2,409,078 existing usernames of the HIVE Blockchain I made.

On the 2,409,078 usernames it failed 11 due to "--"

I was sure the rules of a correct username on the HIVE Blockchain were:

. is the segment separator
Each segment must be at least 3 characters long
Each segment must begin with a letter (a-z) and end with a letter or a number (0-9)
All letters contained in a segment must be lowercase
Hyphens (-) must be accompanied side by side by letters or numbers

But it looks like I was wrong! The last rule doesn't exist in the core of HIVE as you can see below (Thanks to @mahdiyari for providing it)

https://gitlab.syncad.com/hive/hive/-/blob/master/libraries/protocol/authority.cpp#L46

Even Steemit, who created the code base, doesn't respect it on their frontend and shows you this error "Account name should contain only one dash in a row"

So this morning I reviewed my Regex and regretfully removed the last rule that gave it its beauty as a beautiful mathematical equation. You can see the new Regex below

^(?=.{3,16}$)[a-z][0-9a-z\-]{1,}[0-9a-z]([\.][a-z][0-9a-z\-]{1,}[0-9a-z]){0,}$

It passed the test with success the 2,409,204 existing usernames of the HIVE Blockchain (Yep, today there are more Hivians than yesterday!)

screenshot_2022_06_30_113841.jpg

screenshot_2022_06_30_121401.jpg

I also made some tests of the auto-generated file

screenshot_2022_06_30_121653.jpg

screenshot_2022_06_30_122155.jpg

I invite @peakd @ecency @hiveonboard @inji and all those who have a signup process (frontend or library) with this rule to review their code ;)

sep.png

@mintrawa :)


Thanks for your support and trust as a
HIVE block producer (witness active rank 72)

My HIVE block producer (witness) introduction post

sep.png


Vote for my HIVE block producer account (witness): click here (via HiveSigner)


Original Cover Photo of this post by Daniele Levis Pelusi on Unsplash

Sort:  


The rewards earned on this comment will go directly to the people( @mintrawa ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

Congratulations @mintrawa! You received a personal badge!

Happy Hive Birthday! You are on the Hive blockchain for 4 years!

You can view your badges on your board and compare yourself to others in the Ranking