Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Download tar.gz
cross-compiling RocksDB C++ from ARM64 produces illegal instructions.
build inside x86_64 container instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
inspired by lightrail (microcosm.blue/lightrail). uses RocksDB with two
column families (rbc: collection→did, cbr: did→collection) for bidirectional
prefix-scan lookups. phase 1: live indexing from firehose commit ops.
- collection_index.zig: RocksDB-backed index with add/remove/scan/removeAll
- subscriber: tracks collections on each validated commit, removes on tombstone
- main.zig: serves /xrpc/com.atproto.sync.listReposByCollection endpoint
- build.zig: adds rocksdb-zig dependency (Syndica/rocksdb-zig)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bsky.network was already in the host table from the old code, so
the bootstrap condition (len == 0) never triggered. pullHosts is
idempotent — getOrCreateHost skips existing hosts — so just run
it every startup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>