Skip to content

Commit

Permalink
added link to typescript implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
athalhammer committed Oct 24, 2023
1 parent ebb7c9f commit 85658e4
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ erdi8 is a [unique identifier](https://www.wikidata.org/wiki/Q6545185) scheme an

It is basically a base36 alphabet that intentionally avoids the ambiguous characters `[0, 1, and l]` and therefore shrinks to 33. In addition to that, it ensures that no identifier starts with a numeric value by using an offset of 8. The zero is represented by 'a', 25 is represented by 'a2', etc. With three characters or less one can create 28'075 (25 + 25 * 33 + 25 * 33 * 33) different identifiers. With 6 characters or less we have 1'008'959'350 options. In a traditional identifier world, one would use a prefix, e.g. M, and then an integer. This only gives you 100k identifiers (M0 to M99999) with up to 6 characters. The scheme enables consecutive counting and is therefore free of collisions. In particular, it is __not__ a method to create secret identifiers.

A TypeScript implementation is available at [erdi8-ts](https://github.com/athalhammer/erdi8-ts).

## Usage


Expand Down

0 comments on commit 85658e4

Please sign in to comment.