#random #reference #timestamp #user-defined #thei

bin+lib i0

thei.rs/i0 reference implementation written in rust

4 releases

Uses new Rust 2024

0.1.3 Nov 4, 2025
0.1.2 Nov 2, 2025
0.1.1 Nov 2, 2025
0.1.0 Nov 2, 2025

#1244 in Cryptography

MIT/Apache

26KB
576 lines

i0.rs

i0 reference implementation written in rust

cli

cargo install i0 --features=cli

usage

cargo add i0

use i0::{v3, Timestamp};
use rand::{TryRngCore, rngs::OsRng};

let mut seed: [u8; 32] = [0u8; 32];
OsRng.try_fill_bytes(&mut seed)?;

let metadata = v3::Metadata {
    designation: "some user-defined string",
    timestamp: &Timestamp::new(),
    seed: &seed,
};

let (short: String, long: String) = v3::generate(&metadata);

license

dual-licensed under either Apache 2.0 or MIT

Dependencies

~0.7–3MB
~63K SLoC