Skip to main content

Module tools

Module tools 

Source
Expand description

§Shared primitives

The foundation layer the rest of the crate builds on: core identity and hash newtypes, wire-format time and duration, the Blake3/Ed25519/ChaCha20 crypto stack, the multi-algorithm proof-of-work chain and its parallel search engine, hierarchical time buckets, compression, serde helpers, and the runtime_services::RuntimeServices bundle that lets the same protocol code run on native, WASM, and deterministic test environments.

Re-exports§

pub use bytes_gatherer::BytesGatherer;

Modules§

anyhow_asserts
This module provides a series of asserts that interact nicely with raising anyhow errors inside try blocks.
buckets
Hierarchical time buckets for post storage and discovery
bytes_gatherer
Scatter-gather buffer for zero-copy response assembly
client_id
Stable client (user-account) identity on the network
compression
Versioned compression helpers
config
Protocol-wide constants
encryption
Password-based authenticated encryption with multi-recipient key wrapping
hashing
Blake3 hashing helpers
hyper_log_log
Compact probabilistic cardinality estimation
json
Thin JSON (de)serialisation helpers
keys
Ed25519 keypair bundle with post-quantum commitment
keys_post_quantum
Post-Quantum Cryptography resilience
parallel_pow_generator
Parallel proof-of-work search engine
plain_text_post
Plain-text → hashiverse HTML conversion
pow
This crate provides a PoW mechanism that should be hugely expensive to reproduce on dedicated hardware. Given that Hashiverse is predominantly built upon proof of work, we want to put in some effort to make it difficult to cheat as a spammer or sybil using GPU or ASIC advantages. To this effect we cobble together a chain of different hashing algorithms with different repetition counts - all of which are pseudorandomly chosen based on the initial salt and each subsequent hashing round.
pow_required_estimator
Progress reporting and ETA estimation for long PoW searches
runtime_services
Shared environment bundle for all protocol participants
server_id
Server identity with proof-of-work birth certificate
signing
Ed25519 signing and verification helpers
time
Wire-format time and duration types
time_provider
Clock abstraction and test utilities
tools
Grab-bag of tiny cross-platform helpers
types
Core 32-byte newtypes and cryptographic primitive wrappers
url_preview
Open Graph / link-preview extraction