Fully-modular TypeScript implementation of the Nostr protocol, oriented to web standards and edge environments
Attributes
Includes Deno configuration
Repository
Current version released
9 months ago
Lophus
Warning
Still under development and not ready for use.
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