5.7 KiB
Tier 1: Foundational & High-Priority NIPs (The Essentials)
These are fundamental features that most Nostr applications rely on.
| NIP | Description | nostr_core_lib
Status | nak
/ nostr-tools
Status | Recommendation | | :-- | :--- | :--- | :--- | :--- | | NIP-04 | Encrypted Direct Messages | ❌ Missing | ✅ Supported | High Priority. Essential for private communication. The encrypt
/ decrypt
functions are a must-have. | | NIP-05 | Mapping to DNS-based Names | ❌ Missing | ✅ Supported | High Priority. Needed for user-friendly identifiers (e.g., user@domain.com
). We should add a function to verify these. | | NIP-07 | window.nostr
for Web Browsers | ❌ Missing | ✅ Supported | Medium Priority (for C). This is browser-specific, but we should consider adding helper functions to format requests for browser extensions that implement NIP-07. | | NIP-11 | Relay Information Document | ❌ Missing | ✅ Supported | High Priority. Crucial for client-side relay discovery and capability checking. A function to fetch and parse this JSON is needed. | | NIP-21 | nostr:
URI Scheme | ❌ Missing | ✅ Supported | Medium Priority. Useful for linking to profiles, events, etc. from outside Nostr clients. We should add parsing and generation functions. | | NIP-57| Lightning Zaps | ❌ Missing | ✅ Supported | High Priority. Zaps are a cornerstone of value-for-value on Nostr. We need functions to create and verify zap request events (Kind 9734) and zap receipt events (Kind 9735). |
Tier 2: Advanced & Ecosystem NIPs (Expanding Capabilities)
These features enable more complex interactions and integrations.
| NIP | Description | nostr_core_lib
Status | nak
/ nostr-tools
Status | Recommendation | | :-- | :--- | :--- | :--- | :--- | | NIP-25 | Reactions | ❌ Missing | ✅ Supported | Medium Priority. Relatively simple to implement (Kind 7 events) and common in social clients. | | NIP-26 | Delegated Event Signing| ❌ Missing| ✅ Supported| Medium Priority. Allows for one key to authorize another to sign events, useful for temporary or restricted keys. | | NIP-44 | Versioned Encryption (v2) | ❌ Missing | ✅ Supported | High Priority (along with NIP-04). Newer standard for encryption. We should aim to support both, but prioritize NIP-44 for new applications. | | NIP-46 | Nostr Connect (Remote Signing)| ❌ Missing | ✅ Supported | Low Priority (for C library). More of an application-level concern, but we could provide structures and helpers to facilitate communication with signing "bunkers". | | NIP-47 | Nostr Wallet Connect | ❌ Missing | ✅ Supported| Low Priority (for C library). Similar to NIP-46, this is primarily for app-level integration, but helpers would be valuable. | | NIP-58 | Badges | ❌ Missing | ✅ Supported | Medium Priority. Defines how to award and display badges (Kind 30008/30009 events). | | NIP-94 | File Metadata | ❌ Missing | ✅ Supported| Medium Priority. For events that reference external files (images, videos), providing metadata like hashes and URLs. | | NIP-98 | HTTP Auth| ❌ Missing | ✅ Supported| High Priority. Allows services to authenticate users via a Nostr event, a powerful tool for integrating Nostr identity with web services. |
Tier 3: Specialized & Less Common NIPs (Future Considerations)
| NIP | Description | nostr_core_lib
Status | nak
/ nostr-tools
Status | Recommendation | | :-- | :--- | :--- | :--- | :--- | | NIP-18| Reposts | ❌ Missing | ✅ Supported| Low Priority. Simple to implement (Kind 6 events) but less critical than other features. | | NIP-28| Public Chat Channels| ❌ Missing | ✅ Supported| Low Priority. Defines event kinds for creating and managing public chat channels. | | NIP-39| External Identities | ❌ Missing | ✅ Supported| Low Priority. For linking a Nostr profile to identities on other platforms like GitHub or Twitter. | | NIP-42 | Relay Authentication | ❌ Missing| ✅ Supported| Medium Priority. For paid relays or those requiring login. Essential for interacting with the full relay ecosystem. | | NIP-43| Musig2 (Multisig) | ❌ Missing | ✅ Supported| Low Priority. A very powerful but niche feature. Complex to implement correctly. |
Proposed Roadmap
Based on this analysis, I recommend the following roadmap, prioritized by impact and foundational need:
-
Immediate Next Steps (High-Impact Basics):
- Implement NIP-04 & NIP-44: Encrypted messaging is a huge gap.
- Implement NIP-11: Fetching and parsing relay info documents.
- Implement NIP-05: DNS-based name verification.
- Implement NIP-57: Create and verify Zap events.
- Implement NIP-98: HTTP Auth for web services.
-
Phase 2 (Ecosystem & Social Features):
- Implement NIP-25: Reactions.
- Implement NIP-26: Delegation.
- Implement NIP-42: Relay Authentication.
- Implement NIP-21:
nostr:
URI handling. - Implement NIP-58: Badges.
-
Phase 3 (Advanced & Specialized Features):
- Implement NIP-18: Reposts.
- Implement NIP-43: Musig2 (this is a big one).
- Add helpers for NIP-07, NIP-46, and NIP-47.
What are your thoughts on this assessment and proposed roadmap? We can adjust the priorities based on your goals for the library. Once we have a plan you're happy with, I can start implementing the first features when you're ready to switch to
Act Mode (⌘⇧A).