Skip to content

FoundryIndustries/superflake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crates.io Version Crates.io License Foundry Industries

Superflake is an ultra-safe identification technology inspired by Snowflake IDs.

Features

  • Simple. Minimal and beautiful IDs that are unique.
  • Customizable. You can customize the default epoch and the node ID.
  • Robust. Superflake is built in Rust, the world's most loved programming language.
  • Performant. A Superflake ID is only 8 bytes long, and it is a number, just like Snowflakes.

Structure

A Superflake is generated by concatenating:

  • a 42-bit timestamp,
  • a 10-bit node ID, and
  • a 12-bit incremental number.

Usage

use superflake::Superflake;

let mut superflake = 
    Superflake::new_with_node_id(1023, None); // Specify a custom epoch if you want

let id = superflake.gen(); // 392366571697205248

// Decode the Superflake
let decoded_id = superflake.decode(id); 

About

Ultra-safe identification technology

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages