Skip to main content
Deno 2 is finally here πŸŽ‰οΈ
Learn more

Lophus

Warning
Still under development and not ready for use.

CI codecov

Lophus is a TypeScript library for development of Nostr clients and relays, oriented to web standards and edge environments.

Concept

  • Modular πŸ”Œ - NIPs and high-level interfaces are implemented as optional TypeScript modules, which enables you to keep an app as small as possible.
  • Portable πŸ“¦ - The core modules are build upon Web Standard APIs, which makes it possible to run on various environment.
  • Productive 🌊 - Declarative interfaces let you focus on the data flow rather than underlying logic, and strict type checking helps you to avoid runtime errors.
  • Compatible 🀝 - Shares the same data structure for events as nostr-tools.

Documentation

Supported NIPs

  • NIP-01: Basic protocol
  • NIP-02: Contact list
  • NIP-07: window.nostr capability for web browsers
  • NIP-42: Client authentication

References

Development of Lophus is inspired by the following projects:

  • NIPs - Nostr Implementation Possibilities
  • nostr-tools - Reference implementation of the protocol in TypeScript
  • nostring - A Nostr relay library written in Deno
  • Hono - A fast, lightweight, and multi-platform Web framework for edges