Files
psf-memo-db/README.md
T

57 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# psf-memo-db
LevelDB REST API for the Memo protocol indexer. Architecture mirrors [psf-slp-db](https://github.com/Permissionless-Software-Foundation/psf-slp-db).
Database-focused architecture notes live in the indexer repo: [psf-memo-indexer/dev-docs/psf-memo-db.md](../psf-memo-indexer/dev-docs/psf-memo-db.md).
## Requirements
- node ^20
- npm ^10
## Installation
```bash
cd psf-memo-db
npm install
cp .env-example .env # optional
npm start
```
Default port: **5021**
## API
All indexer data is exposed under `/level/*` with CRUD routes per entity (`post`, `like`, `name`, `profile`, `status`, etc.) plus:
- `GET /profile/recent` — paginated list of profiles, sorted by block height (newest first)
- `POST /level/backup` — zip database snapshot
- `POST /level/restore` — restore from snapshot (exits process)
- `GET /health` — health check
### List recent profiles
```bash
# First page (default limit 100)
curl -sS "http://localhost:5021/profile/recent"
# Page size and offset
curl -sS "http://localhost:5021/profile/recent?limit=50&offset=50"
```
Query parameters: `limit` (default `100`, max `100`), `offset` (default `0`). Block height comes from the profile txs `ptx` record.
## Tests
```bash
npm test
```
## Production (Docker)
The production Docker setup is in [psf-memo-indexer/production/docker](../psf-memo-indexer/production/docker/memo-db/) (compose builds `memo-db` from this repo).
## License
MIT