System Overview
Last updated
This page gives a high-level view of how the main developer-facing and network-facing repos fit together.
Application
| Rust / CLI
| REST or gRPC |
v v
antd ant-core / ant
| |
+-------------+---------------+
|
v
ant-node
|
v
saorsa-core
|
v
saorsa-transport
|
v
Autonomi peersThe 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.
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.
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.
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.
Last updated