Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback

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