Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/rust-nostr/nostr
- Owner: rust-nostr
- License: mit
- Created: 2022-11-08T08:57:33.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T08:15:36.000Z (about 2 months ago)
- Last Synced: 2024-10-29T09:32:43.868Z (about 2 months ago)
- Topics: bindings, ffi, kotlin, nodejs, nostr, rust, rust-crate, sdk, swift
- Language: Rust
- Homepage: https://rust-nostr.org/
- Size: 10.6 MB
- Stars: 419
- Watchers: 13
- Forks: 90
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-nostr - rust-nostr - nostr/nostr.svg?style=social): (Libraries / Client reviews and/or comparisons)
- awesome-rust-list - rust-nostr/nostr - nostr/nostr?style=social"/> : Nostr protocol implementation, SDK and FFI. (Web3 and ZKP Framework)
- awesome-rust-list - rust-nostr/nostr - nostr/nostr?style=social"/> : Nostr protocol implementation, SDK and FFI. (Web3 and ZKP Framework)
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