Page cover

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?