i0 0.1.6

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

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(3, &metadata);
            display::print(3, &long, &short);
            break;
        }
    }
}