System Overview

This page gives a high-level view of how the main developer-facing and network-facing repos fit together.

High-level architecture

Application
  |                         Rust / CLI
  | REST or gRPC                |
  v                             v
 antd                      ant-core / ant
  |                             |
  +-------------+---------------+
                |
                v
             ant-node
                |
                v
            saorsa-core
                |
                v
         saorsa-transport
                |
                v
            Autonomi peers

Developer interfaces

The main developer entry points are:

  • ant-sdk, centered on the antd daemon plus language SDKs

  • ant-client, centered on ant-core and the ant CLI

These interfaces target the same network, but one uses a local daemon and the other connects directly from Rust or CLI code.

Network and node layer

The ant-node crate builds on saorsa-core::P2PNode. It adds configuration, chunk storage, payment verification, replication, upgrade handling, and node runtime management on top of the core P2P layer.

ant-core and ant-node also share wire-message types, payment-proof types, and devnet manifest types through ant-protocol.

In the repos used for this page, ant-node documents chunk storage as its active network data type.

Routing and transport

saorsa-core provides the P2P node, DHT, bootstrap handling, trust system, and routing-table logic around typed addresses and peer identity. It is also responsible for publishing dialable self-addresses and coordinator hints into DHT records. saorsa-transport provides QUIC transport, NAT traversal, address discovery, and relay fallback where direct hole punching is not enough.

The transport story includes:

  • observed-address discovery and address propagation across the network

  • reachability tracking by scope: loopback, local-network, or global

  • best-effort UPnP port mapping as an extra public candidate on compatible routers

  • peer-ID-based hole-punch coordination, with coordinator hints and coordinator rotation when one path cannot help

  • relay fallback for some CGNAT cases

  • QUIC-based post-quantum transport security centered on ML-KEM-768 and ML-DSA-65

That post-quantum framing applies to transport identity and session establishment. Content self-encryption remains a separate client-side layer built around BLAKE3 and ChaCha20-Poly1305.

Data path

On the client side, self_encryption turns uploaded content into a DataMap plus encrypted chunks. Developer-facing clients such as antd and ant-core prepare and retrieve that content, while ant-node stores and serves chunk data across the network.

Upstream sources

Last updated