The project is split up into several crates in the crates/ directory:
- Libraries:
- nostr: Rust implementation of Nostr protocol.
- nostr-database: Database for Nostr apps
- nostr-sqlite: SQLite Storage backend for Nostr apps
- nostr-indexeddb: IndexedDB Storage backend for Nostr apps
- nostr-sdk: High level client library.
- nostr-sdk-net: Network library for nostr-sdk
- Binaries (tools):
- nostr-cli: Nostr CLI
nostr and nostr-sdk crates can be embedded inside other environments, like Swift, Kotlin, Python and JavaScript.
Please, explore the bindings/ directory to learn more.
nostr crate can be used in no_std environments.
Check the example in the embedded/ directory.
- nostr:
- nostr-sdk:
These libraries are in ALPHA state, things that are implemented generally work but the API will change in breaking ways.
rust-nostr is free and open-source. This means we do not earn any revenue by selling it. Instead, we rely on your financial support. If you actively use any of the rust-nostr libs/software/services, then please donate.
This project is distributed under the MIT software license - see the LICENSE file for details