Superflake is an ultra-safe identification technology inspired by Snowflake IDs.
- 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.
A Superflake is generated by concatenating:
- a 42-bit timestamp,
- a 10-bit node ID, and
- a 12-bit incremental number.
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);