1 unstable release
Uses new Rust 2024
new 0.1.0 | Mar 24, 2025 |
---|
#7 in #poh
19KB
143 lines
PoH-yugen (Proof-of-History Implementation)
Author: @silene0259
Date: 2024-03-23
Description
Proof-of-History offers a realistic way of measuring time using hash functions and ticks (time intervals). PoH-yugen
features advanced features like custom configuration including:
- Interval Choosing (Ticks)
- Max Entries (Number of Ticks Per Slot)
- Generic Hash Functions (any that use the
digest
trait) - Appending Data Per Tick
- Seeding
- Other Advanced Features
Usage
use poh_yugen::{PoHConfig,PoHUsage,InitialSeed,TickEntryType};
use sha2::Sha256;
fn main() {
let config = PoHConfig::new(Sha256::new(), 32, 100, Some(1000), true, true, TickEntryType::Data);
let seed = InitialSeed([0; 64]);
let mut poh = PoHUsage::new(config, seed, Some(vec![1, 2, 3]), vec![]);
println!("{:?}", poh.state);
println!("Initializing PoH...");
// Initialize the PoH process
poh.init();
}
lib.rs
:
This module provides the data structures and functions for the Proof of History (PoH) algorithm. The PoH algorithm is a cryptographic primitive that allows for the generation of a verifiable and tamper-proof history of events. It is used in various blockchain systems to provide a secure and efficient way to order transactions and events in a distributed network.
Dependencies
~750KB
~19K SLoC