Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rust-nostr/nostr

Nostr protocol implementation, SDK and FFI
https://github.com/rust-nostr/nostr

bindings ffi kotlin nodejs nostr rust rust-crate sdk swift

Last synced: 2 days ago
JSON representation

Nostr protocol implementation, SDK and FFI

Awesome Lists containing this project

README

        

# Nostr

## Project structure

The project is split up into several crates in the `crates/` directory:

* Libraries:
* [**nostr**](./crates/nostr): Rust implementation of Nostr protocol
* [**nostr-connect**](./crates/nostr-connect): Nostr Connect (NIP46)
* [**nostr-database**](./crates/nostr-database): Database for Nostr apps
* [**nostr-lmdb**](./crates/nostr-lmdb): LMDB storage backend
* [**nostr-ndb**](./crates/nostr-ndb): [nostrdb](https://github.com/damus-io/nostrdb) storage backend
* [**nostr-indexeddb**](./crates/nostr-indexeddb): IndexedDB storage backend
* [**nostr-relay-pool**](./crates/nostr-relay-pool): Nostr Relay Pool
* [**nostr-zapper**](./crates/nostr-zapper): Zapper abstraction for Nostr apps
* [**nostr-sdk**](./crates/nostr-sdk): High level client library
* [**nwc**](./crates/nwc): Nostr Wallet Connect (NWC) client
* Binaries (tools):
* [**nostr-cli**](./crates/nostr-cli): Nostr CLI

### Bindings

**nostr** and **nostr-sdk** crates can be embedded inside other environments, like Swift, Kotlin, Python and JavaScript.
Please, explore the [`bindings/`](./bindings) directory to learn more.

### Embedded

**nostr** crate can be used in [`no_std`](https://docs.rust-embedded.org/book/intro/no-std.html) environments.
Check the example in the [`embedded/`](./crates/nostr/examples/embedded) directory.

## Book

Learn more about `rust-nostr` at .

## Available packages

* **nostr**:
* Rust: https://crates.io/crates/nostr
* **nostr-sdk** (re-export everything from `nostr` library):
* Rust: https://crates.io/crates/nostr-sdk
* Python: https://pypi.org/project/nostr-sdk
* Kotlin: https://central.sonatype.com/artifact/org.rust-nostr/nostr-sdk
* Swift: https://github.com/rust-nostr/nostr-sdk-swift
* JavaScript: https://www.npmjs.com/package/@rust-nostr/nostr-sdk
* Flutter: [bindings/nostr-sdk-flutter](./bindings/nostr-sdk-flutter)

## State

**These libraries are in ALPHA state**, things that are implemented generally work but the API will change in breaking ways.

## Donations

`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](https://rust-nostr.org/donate).

## License

This project is distributed under the MIT software license - see the [LICENSE](LICENSE) file for details