Skip to main content

Crate snid

Crate snid 

Source
Expand description

§SNID - Polyglot Sortable Identifier Protocol

SNID provides 128-bit time-ordered identifiers compatible with UUID v7, plus extended families for spatial, neural, ledger, and capability use cases.

§Basic Usage

use snid::Snid;

let id = Snid::new_fast();
let wire = id.to_wire("MAT").unwrap();
let (parsed, atom) = Snid::parse_wire(&wire).unwrap();

§Extended Identifier Families

  • Snid - Core 128-bit time-ordered ID (UUID v7 compatible)
  • Sgid - Spatial ID with H3 geospatial encoding
  • Nid - Neural ID with semantic tail for vector search
  • Lid - Ledger ID with HMAC verification tail
  • Wid - World/scenario ID for simulation isolation
  • Xid - Edge ID for relationship identity
  • Kid - Capability ID with MAC-based verification
  • Eid - Ephemeral 64-bit ID
  • Bid - Content-addressable ID (topology + content hash)
  • Akid - Dual-part public+secret credentials (access keys)
  • GrantId - Tamper-proof capability grants with expiration
  • ScopeId - Logical group routing (tenant/region)
  • ShardId - Fixed shard key routing
  • AliasId - Human-readable aliases
  • ShortId - 64-bit compact identifiers
  • TraceId - W3C/OpenTelemetry compatible trace IDs

§Features

  • data - Enable serde serialization and JSON support

For protocol specification, see https://github.com/LastMile-Innovations/snid/blob/main/docs/SPEC.md

Structs§

Akid
AliasId
Bid
Eid
GrantId
Kid
Lid
Nid
ScopeId
ShardId
ShortId
Snid
TraceId
TurboStreamer
Reusable single-threaded generator optimized for hot loops.
Wid
Xid

Enums§

Error

Functions§

decode_fixed64_pair
encode_fixed64_pair