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