HIVE username Regex | Round 2

@mintrawa · 2022-06-30 05:29 · HiveDevs

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](/@mintrawa/introducing-a-gen-x-geek-gamer-traveler-witness) ![sep.png](https://images.ecency.com/DQmNcUswn2WAmunoBCWCH3zetpb4LoMF8PBoshXTDUv6GJz/sep.png) | [![ukr](https://hivebuzz.me/badges/ukr-peace-01.s3.png)](https://peakd.com/hivebuzz/@hivebuzz/nft-for-peace) | [![ukr](https://hivebuzz.me/badges/ukr-city-kyiv.s2.png)](https://peakd.com/hivebuzz/@hivebuzz/nft-for-peace) | |---|---| | [NFT for Peace](https://peakd.com/hivebuzz/@hivebuzz/nft-for-peace) | [NFT for Peace](https://peakd.com/hivebuzz/@hivebuzz/nft-for-peace) | Vote for my HIVE block producer account (witness): [click here (via **HiveSigner**)](https://hivesigner.com/sign/account-witness-vote?witness=mintrawa&approve=1) --- *Original Cover Photo of this post by [Daniele Levis Pelusi](https://unsplash.com/@yogidan2012?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/gearing?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)*
#hive-139531 #hive #blockchain #dev #development #neoxian #waivio #proofofbrain #palnet
Payout: 0.000 HBD
Votes: 46
More interactions (upvote, reblog, reply) coming soon.