uqoin_core/lib.rs
1//! # uqoin-core
2//!
3//! **uqoin-core** is the foundational library for the Uqoin cryptocurrency
4//! protocol. It provides all essential components for managing coins,
5//! transactions, blocks, and blockchain state in a secure, efficient, and
6//! deterministic way.
7//!
8//! ---
9//!
10//! ## Features
11//!
12//! - **Elliptic Curve Cryptography** (Ed25519 signatures and key operations)
13//! - **Deterministic Key Generation** (BIP-39 style mnemonic seeds)
14//! - **Coin Structure and Mining** (unique order-based mining validation)
15//! - **Transaction System** (transfer, fee, split, and merge types)
16//! - **Block Management** (validation, linking, and complexity proofs)
17//! - **State Management** (dynamic tracking of coin ownership and counters)
18//! - **Asynchronous Storage** (disk-based persistence with `Lbasedb`)
19//! - **Transaction Pool** (preparation of transactions for new blocks)
20//!
21//! ---
22//!
23//! ## Components
24//!
25//! | Module | Responsibility |
26//! |:---------------|:-------------------------------------------|
27//! | `utils` | Utility functions and helpers |
28//! | `error` | Unified error types |
29//! | `edwards` | Cryptographic curve operations |
30//! | `schema` | Signature schemes and key validation |
31//! | `coin` | Coin format, mining, and validation |
32//! | `transaction` | Transaction types and verification |
33//! | `block` | Block structure and hash validation |
34//! | `state` | Real-time blockchain state management |
35//! | `pool` | Transaction pooling before block creation |
36//! | `seed` | Mnemonic generation and deterministic keys |
37//! | `blockchain` | Persistent blockchain storage |
38//!
39//! ---
40//!
41//! ## Philosophy
42//!
43//! - **Minimalistic** and protocol-focused design
44//! - **Deterministic** and reproducible operations
45//! - **High-performance** and scalable storage
46//! - **Secure** cryptographic foundations
47//!
48//! ---
49//!
50//! > **uqoin-core** — powering the future of simple, fair, and efficient
51//! blockchain systems.
52
53#![feature(test)]
54
55extern crate test;
56
57pub mod utils;
58pub mod error;
59pub mod edwards;
60pub mod schema;
61pub mod coin;
62pub mod transaction;
63pub mod block;
64pub mod state;
65pub mod pool;
66pub mod seed;
67
68#[cfg(feature = "blockchain")]
69pub mod blockchain;