Skip to content

Add Rust binding: openttt-rs crate #5

@Heime-Jorgen

Description

@Heime-Jorgen

Summary

OpenTTT is used in Ethereum execution-specs tooling and blockchain validation pipelines — environments where Rust is the dominant language. A openttt-rs crate would enable native integration without Node.js dependency.

Scope

  • Implement generate_pot() + verify_pot_signature() in Rust
  • Publish as openttt-rs on crates.io
  • Ed25519 signing: use ed25519-dalek or ring
  • Multi-source time fusion (NIST/Cloudflare/Google NTP) via async HTTP or NTP

Acceptance Criteria

  • cargo add openttt-rs works
  • PotSigner::new() generates Ed25519 keypair
  • generate_pot(agent_id, sources) returns a PoTToken struct
  • verify_pot_signature(pot_hash, signature, public_key) returns bool
  • cargo test passes

References

Difficulty

Medium — pure Rust, no blockchain knowledge needed. Requires async HTTP for NTP fetching.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions