Node Architecture
This document provides a deep dive into the internal architecture of a NONOS node.
High-Level Structure
┌─────────────────────────────────────────────────────────────────────┐
│ NONOS NODE │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ External Interface │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ HTTP API │ │ P2P │ │ Ethereum │ │
│ │ :8420 │ │ :9000 │ │ RPC │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
└─────────┼────────────────┼────────────────┼─────────────────┘
│ │ │
┌─────────┼────────────────┼────────────────┼─────────────────┐
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Service Router │ │
│ └──────────────────────┬──────────────────────────────┘ │
│ │ │
│ ┌──────────────────────┼──────────────────────────────┐ │
│ │ ▼ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ ZK │ │ Cache │ │ Tracker │ │ Health │ │ │
│ │ │Identity │ │ Mixer │ │ Blocker │ │ Beacon │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │ │
│ │ Privacy Services Layer │ │
│ └──────────────────────┬──────────────────────────────┘ │
│ │ │
│ ┌──────────────────────┼──────────────────────────────┐ │
│ │ ▼ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │Kademlia │ │GossipSub│ │ Noise │ │ Request │ │ │
│ │ │ DHT │ │ Topics │ │Protocol │ │Response │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │ │
│ │ Network Layer (libp2p) │ │
│ └──────────────────────┬──────────────────────────────┘ │
│ │ │
│ ┌──────────────────────┼──────────────────────────────┐ │
│ │ ▼ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Stake │ │ Reward │ │Contract │ │ Metrics │ │ │
│ │ │ Manager │ │ Tracker │ │ Client │ │Collector│ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
│ │ │ │
│ │ Economic Layer │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Core Layer │
└─────────────────────────────────────────────────────────────┘Component Details
Core Layer
The foundation of the node providing essential services.
Node Identity
Purpose: Provides cryptographic identity for:
P2P network authentication
Message signing
Ethereum transaction signing
Reward claiming
State Machine
Privacy Services Layer
ZK Identity Service
Cache Mixing Service
Tracking Blocker
Network Layer
Based on libp2p for decentralized networking.
Transport Stack
Peer Discovery (Kademlia DHT)
Message Propagation (GossipSub)
Economic Layer
Manages staking, rewards, and blockchain interactions.
Stake Manager
Reward Tracker
Metrics Collector
Data Flow
Request Processing
Threading Model
Configuration
Key configuration options for node architecture:
Next: Configuration Guide for detailed configuration options
Last updated
Was this helpful?


