thei.rs/i0 reference implementation written in rust
2025-11-04 13:12:50 +01:00
.vscode dx: always use all features for rust-analyzer 2025-11-02 13:17:20 +01:00
benches feature flag individual versions 2025-11-02 17:05:28 +01:00
src fix: incorrect short hash length for i0:3 [0.1.3] 2025-11-04 13:12:50 +01:00
.gitignore cargo init 2025-09-29 13:56:59 +02:00
Cargo.lock fix: incorrect short hash length for i0:3 [0.1.3] 2025-11-04 13:12:50 +01:00
Cargo.toml fix: incorrect short hash length for i0:3 [0.1.3] 2025-11-04 13:12:50 +01:00
contributing.md relicense 2025-11-02 17:54:08 +01:00
license-apache relicense 2025-11-02 17:54:08 +01:00
license-mit relicense 2025-11-02 17:54:08 +01:00
readme.md fix docs 2025-11-02 18:05:16 +01:00

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