A complete, self-contained repository containing all the Rust code needed to build and run ZHTP (Zero-Knowledge Hypertext Transafer Protocol) orchestrator nodes for the Sovereign Network.
Default Branch: development
This is a monorepo - all libraries are in this repository as regular directories (not git submodules). For alpha development, all work happens here.
Git Strategy:
- development - main development branch (default)
- Feature branches created from development
- All lib-* crates are regular directories in this repo
Seed is the root of trust - all identity components derive from a single seed:
did:zhtp:{Blake3(seed || "ZHTP_DID_V1")}Blake3("ZHTP_NODE_V2:" + DID + ":" + device) → 32 bytesConstructors:
ZhtpIdentity::new_unified(identity_type, age, jurisdiction, primary_device, seed?)
seed=None → random seed (exportable for multi-device)seed=Some(...) → deterministic identity (same seed → same DID/NodeIds)V0 (Current): ProofEnvelope { version="v0", proof: ZkProof } wraps legacy proofs
V1 (Planned): Typed/governed proofs with full validation
All proof serialization includes version markers for forward compatibility.
lib-*)Linux/macOS/WSL:
# Build all crates
./build.sh
# Run a node with default config
./run-node.sh
# Run with custom config
./run-node.sh zhtp/configs/test-node2.toml
Windows (PowerShell):
# Build all crates
.\build.ps1
# Run a node with default config
.\run-node.ps1
# Run with custom config
.\run-node.ps1 -ConfigFile crates\zhtp\configs\test-node2.toml
# Build entire workspace in release mode
cargo build --release --workspace
# Run the orchestrator
./target/release/zhtp --config zhtp/configs/test-node1.toml
Node configuration files are in zhtp/configs/:
- test-node1.toml - Default node configuration
- test-node2.toml - Secondary node for testing multi-node networks
To test a multi-node network:
Terminal 1:
./run-node.sh zhtp/configs/test-node1.toml
Terminal 2:
./run-node.sh zhtp/configs/test-node2.toml
Nodes will automatically discover each other via: - UDP multicast (224.0.1.75:37775) - DHT peer discovery - Bootstrap peer connections
sovereign-mono-repo/
├── Cargo.toml # Workspace configuration
├── build.sh / build.ps1 # Build scripts
├── run-node.sh / run-node.ps1 # Node launcher scripts
├── lib-blockchain/ # Blockchain library
├── lib-consensus/ # Consensus library
├── lib-crypto/ # Crypto library
├── lib-dht/ # DHT library
├── lib-dns/ # DNS library
├── lib-economy/ # Economy library
├── lib-identity/ # Identity library
├── lib-network/ # Network library
├── lib-proofs/ # Proofs library
├── lib-protocols/ # Protocols library
├── lib-storage/ # Storage library
├── zhtp/ # Main orchestrator
│ ├── src/ # Source code
│ ├── configs/ # Configuration files
│ └── Cargo.toml # Package manifest
└── target/ # Build artifacts (gitignored)
# Build specific library
cargo build -p lib-crypto
# Run tests for specific crate
cargo test -p lib-network
# Build all with verbose output
cargo build --workspace --verbose
# Run all tests
cargo test --workspace
# Run tests with output
cargo test --workspace -- --nocapture
When a node starts successfully, you'll see: - ✅ Node ID - Unique identifier for this node - ✅ Local IP - Network interface address - ✅ Mesh Port - P2P communication port - ✅ Multicast Discovery - Active peer discovery - ✅ Active Components - Crypto, Network, DHT loaded - ✅ Broadcasting - Announcing presence every 30 seconds
For detailed information on our encryption architecture and cryptographic design:
See docs/encryption/README.md for documentation index and learning paths by role.
rustc --versionrustup updatecargo clean && cargo build --releaseMIT OR Apache-2.0
Sovereign Network Team
| Contributor | Role |
|---|---|
| Seth Ramsay | Founder |
| Peter Rutherford | Lead Developer |
| Brad Eagle | Developer |
| David Edwards | Developer |
| David Scott | Developer |
| Hugo Perez | Developer |
| Stephen Casino | Developer |
Need Help? Check the individual crate README files in each lib-*/ folder for library-specific documentation.
$ claude mcp add The-Sovereign-Network \
-- python -m otcore.mcp_server <graph>