Skip to content

cashapp/nostrino

Repository files navigation

Nostrino is a Nostr SDK for Kotlin.

It is a work in progress. See current NIP support.

Getting Started

On the Sontaype page for Nostrino, choose the latest version of nostr-sdk and follow the instructions for inclusion in your build tool.

Documentation

The API documentation is published with each release at https://cashapp.github.io/nostrino

Supported NIPs

Supported NIP
01 - Basic protocol flow description
🚧 02 - Contact List and Petnames
🗅 03 - OpenTimestamps Attestations for Events
04 - Encrypted Direct Message
🗅 05 - Mapping Nostr keys to DNS-based internet identifiers
🗅 06 - Basic key derivation from mnemonic seed phrase
09 - Event Deletion
🗅 10 - Conventions for clients' use of e and p tags in text events
🗅 11 - Relay Information Document
🗅 12 - Generic Tag Queries
🗅 13 - Proof of Work
🗅 14 - Subject tag in text events
15 - End of Stored Events Notice
🗅 16 - Event Treatment
🗅 18 - Reposts
19 - bech32-encoded entities
20 - Command Results
🗅 23 - Long-form Content
25 - Reactions
🗅 26 - Delegated Event Signing
🗅 28 - Public Chat
🗅 33 - Parameterized Replaceable Events
🗅 36 - Sensitive Content
🗅 40 - Expiration Timestamp
🗅 42 - Authentication of clients to relays
🗅 46 - Nostr Connect
🗅 50 - Keywords filter
🗅 56 - Reporting
🗅 65 - Relay List Metadata
57 - Lightning Zaps

Building

ℹ️ Nostrino uses Hermit.

Hermit ensures that your team, your contributors, and your CI have the same consistent tooling. Here are the installation instructions.

Activate Hermit either by enabling the shell hooks (one-time only, recommended) or manually sourcing the env with . ./bin/activate-hermit.

Use gradle to run all tests

gradle build

Changelog

See a list of changes in each release in the CHANGELOG.

Contributing

For details on contributing, see the CONTRIBUTING guide.