Skip to content

rust-nostr/nostr

Repository files navigation

Nostr

Project structure

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

Note: this repository contains the Rust codebase. There are several other projects (i.e., bindings) which are maintained in other repositories https://rust-nostr.org/projects.

Embedded

nostr crate can be used in no_std environments. Check the example in the embedded/ directory.

Book

Learn more about rust-nostr at https://rust-nostr.org.

Supported NIPs

Supported NIP
01 - Basic protocol flow description
02 - Follow List
03 - OpenTimestamps Attestations for Events
04 - Encrypted Direct Message
05 - Mapping Nostr keys to DNS-based internet ids
06 - Basic key derivation from mnemonic seed phrase
07 - window.nostr capability for web browsers
09 - Event Deletion
10 - Use of e and p tags in text events
11 - Relay Information Document
13 - Proof of Work
14 - Subject tag in text events
15 - Nostr Marketplace
17 - Private Direct Messages
18 - Reposts
19 - bech32-encoded entities
21 - URI scheme
22 - Comment
23 - Long-form Content
24 - Extra metadata fields and tags
25 - Reactions
26 - Delegated Event Signing
27 - Text Note References
28 - Public Chat
29 - Relay-based Groups
30 - Custom Emoji
31 - Dealing with Unknown Events
32 - Labeling
34 - git stuff
35 - Torrents
36 - Sensitive Content
37 - Draft Events
38 - User Statuses
39 - External Identities in Profiles
40 - Expiration Timestamp
42 - Authentication of clients to relays
44 - Encrypted Payloads (Versioned)
45 - Event Counts
46 - Nostr Connect
47 - Wallet Connect
48 - Proxy Tags
49 - Private Key Encryption
50 - Search Capability
51 - Lists
52 - Calendar Events
53 - Live Activities
54 - Wiki
- 55 - Android Signer Application
56 - Reporting
57 - Lightning Zaps
58 - Badges
59 - Gift Wrap
60 - Cashu Wallet
61 - Nutzaps
62 - Request to Vanish
65 - Relay List Metadata
66 - Relay Discovery and Liveness Monitoring
69 - P2P Order events
70 - Protected Events
71 - Video Events
72 - Moderated Communities
73 - External Content IDs
75 - Zap Goals
77 - Negentropy Syncing
78 - Arbitrary custom app data
7D - Threads
84 - Highlights
86 - Relay Management API
88 - Polls
89 - Recommended Application Handlers
90 - Data Vending Machine
92 - Media Attachments
94 - File Metadata
96 - HTTP File Storage Integration
98 - HTTP Auth
99 - Classified Listings
B0 - Web Bookmarks
B7 - Blossom
C0 - Code Snippets
C7 - Chats

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.

License

This project is distributed under the MIT software license - see the LICENSE file for details