mirror of
https://github.com/Permissionless-Software-Foundation/psf-memo.git
synced 2026-09-21 16:52:01 -07:00
Bound GET /posts/notifications/:addr to the viewer's activity in a configurable block window (NOTIFICATION_BLOCK_WINDOW, default 25000): read the viewer's posts from addrPostHeights, prefix-scan postLikes and postChildren for those posts only, and read follows from the new followeeHeights index. The global likes, postChildren, and follows stores are no longer full-scanned, and pagination.total counts only in-window notifications. Add the indexer write of a followeeHeights entry on every follow and unfollow, the DB followee-index backfill utility and CLI, the followeeheight /level route, the notification window config, unit, property, and acceptance coverage, and developer docs. By coder.
Memo Indexer Developer Documentation
This directory documents the architecture, operation, and design rationale for the Permissionless Software Foundation Memo indexing stack:
| Repository | Role |
|---|---|
| psf-memo-db | LevelDB persistence exposed as a REST API |
| psf-memo-indexer | Block and mempool indexer (this repo) |
Protocol reference: memo-protocol.md. Reference implementation: memo/index (Go).
Reading order
- Overview — Why these services exist and what they produce
- Architecture — Components, processes, Clean Architecture layout, data flow
- Theory of operation — IBD, ZMQ, parsing, indexing pipeline step-by-step
- psf-memo-db — Database service design and REST contract
- Design decisions and tradeoffs — Comparisons to SLP and the Go indexer, scope limits, future work
Related material
- Production deployment: production/docker
- SLP analogue: psf-slp-indexer-g2 and psf-slp-db
- Clean Architecture primer: Chris Troutner — Clean Architecture