i0 0.2.2

thei.rs/i0 reference implementation written in rust
Documentation
use crate::v2::{Metadata, generate};
use crate::{Timestamp, display};
use rand::Rng;

pub fn dig(needle: &str, designation: &str, timestamp: Timestamp) {
    let mut rng = rand::rng();
    let mut seed = [0u8; 32];

    loop {
        rng.fill_bytes(&mut seed);
        let metadata = Metadata {
            seed: &seed,
            designation,
            timestamp: &timestamp,
        };
        let (short, long) = generate(&metadata);
        if short == needle {
            display::print_metadata(2, &metadata);
            display::print(2, &long, &short);
            break;
        }
    }
}