AntOS Library — gossip (reference)
The
gossiplibrary's design and native core — the trusted social mesh. The script-facing API is luau_gossip; the full model (identity, trust, the social graph, discovery, NAT traversal) is the Gossip subsystem doc.
What it is
A peer-to-peer trusted mesh: nodes identified by Ed25519 public keys, an explicit friend graph, signed-only packets, and messaging / file-transfer between friends — all persisted in SQLite. The library is the control and data surface over the sys_gossip background task.
Design notes
- Identity = key. A node is its Ed25519 public key; the seed is exportable for backup/migration. This is the same key model as
crypto, so identity and signing share one primitive. - Signed by construction. Every packet is signed and unsigned/tampered packets are dropped by the core, so a binding call never has to police authenticity — it's enforced below the API.
- SQLite-persisted. The friend graph, requests, addresses, and message history live in the DBFS database (
db) — no flat files — so mesh state is shadow-backed and survives reboots/DBFS switches. - Discovery + NAT traversal in the core — signed UDP broadcast on the LAN, friend-of-friend hole punching across NATs, hairpin handling, and address-change notification are all
sys_gossip's job; the binding just exposes control and results. - A first call latches readiness — the core loads the keypair and inits the DB schema on a background task; the binding waits for that once, near-instantly, before the first real call.
Native core — libantos_gossip
sys_gossip is the whole engine: keypair, packet signing/verification, the SQLite schema and state, the discovery broadcaster, the NAT-traversal logic, and the message/transfer paths. It leans on sys_net (broadcast/transport) and the shared crypto. No Luau dependency — the binding is control + marshalling.
Related
- luau_gossip — the script API · Gossip subsystem · antos_crypto · antos_db · antos_xfer · AntOS Libraries hub