<img src="https://file.coffee/u/1avqWG74XB77IvnCcDK7P.png" width="250">



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
```rs
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);
```