Skip to content

Permissionless-Software-Foundation/psf-memo-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

psf-memo-db

LevelDB REST API for the Memo protocol indexer. Architecture mirrors psf-slp-db.

Database-focused architecture notes live in the indexer repo: psf-memo-indexer/dev-docs/psf-memo-db.md.

Requirements

  • node ^20
  • npm ^10

Installation

cd psf-memo-db
npm install
cp .env-example .env   # optional
npm start

Default port: 5021

API documentation is served at the root URL (http://localhost:5021/). Regenerate with npm run docs.

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)
  • GET /posts/recent — paginated list of posts, 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

# 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 is read from the stored profile document (blockHeight field, set at indexing time).

List recent posts

curl -sS "http://localhost:5021/posts/recent"
curl -sS "http://localhost:5021/posts/recent?limit=50&offset=50"

Same query parameters as /profile/recent.

Tests

npm test

Production (Docker)

The production Docker setup is in psf-memo-indexer/production/docker (compose builds memo-db from this repo).

License

MIT

About

LevelDB + REST CRUD API for holding index memo protocol data from the BCH blockchain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors