Files
dat-thang/libcess/README.md
T

32 lines
1.3 KiB
Markdown
Raw Normal View History

2026-10-19 00:12:36 -04:00
# libcess
`libcess` is the Cesspool networking library used by the Dat (`ddat`) and
Cabal-compatible (`cable`) applications. It owns the UDP transport, peer
discovery/rendezvous protocol, bootstrap client/server behavior, and the
persistent Ed25519 identity used by the Cesspool network.
Dat and Cable are applications built on this base. Archive storage remains
SLEEP; room/feed behavior remains in Cable. libcess does not depend on either
application or their storage layers.
## Build
Requires a C99 compiler, GNU make, and libsodium development files.
```sh
make
make install
```
Build artifacts stay under `libcess/build`. Set `PREFIX` or `DESTDIR` for a
staged install. The standalone package reads `libcess/NETWORK_PROTOCOL`;
2026-10-19 06:57:18 +00:00
the full dat-thang build uses the project-root `NETWORK_PROTOCOL` file so Dat
2026-10-19 00:12:36 -04:00
and Cable share the same Cesspool network identity.
The bootstrap service is `cesspool-bootstrap`. It only provides discovery;
it does not relay chat or archive payloads. Supply `--advertise HOST:PORT`
for the address clients should use, and make that UDP port reachable through
the host firewall and edge router. No external address lookup is performed.
See [the public API](include/cesspool.h), [network API](include/cess_net.h),
and [bootstrap man page](docs/cesspool-bootstrap.1).