8000 GitHub - nostria-app/nostria: Making the Nostr protocol accessible to everyone, with a focus on user experience and performance for global scale.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Making the Nostr protocol accessible to everyone, with a focus on user experience and performance for global scale.

License

Notifications You must be signed in to change notification settings

nostria-app/nostria

Repository files navigation

Nostria

Nostria Logo

Making the Nostr protocol accessible to everyone, with a focus on user experience and performance for global scale.

Installation

Nostria is accessible as both web app and desktop app.

Web: https://nostria.app

Desktop: https://github.com/sondreb/nostria/releases

Architecture

The client is built on Angular and Angular Material. It is utilizing Tauri to package the app for desktop users.

Nostria is a client for the Nostr protocol, which is a decentralized social network protocol. It allows users to communicate and share information without relying on a central server. The client is designed to be user-friendly and provide a seamless experience for users.

Nostria implements the usage of the Nostr protocol to ensure maximum decentralization and global scalability, without compromising on user experience. The client is designed to be fast, responsive, and easy to use, with a focus on providing a great user experience.

NIPs

Opininated Nostr Client

Nostria has opinions, and decisions is being made regarding parts of the Nostr protocol. There are parts that are not implemented and ignored, simply because we disagree.

Here is a list of opinions and decisions made in Nostria:

  • NIP-65: Relay List Metadata - We are ignoring the READ/WRITE flags for relays and all relays are both read and writes.
  • NIP-51: Lists - Follow sets (kind:30000) and Relay sets (kind:30002) will not be implemented. They are duplicate functionality and should be ignored.
  • NIP-96: HTTP File Storage Integration - This is a "duplicate" specification to Blossom, that has more features, but is additionally more complex. It allows metadata to be stored with the blob, but Nostria will not support this protocol. File storage server list (kind:10096) is therefore ignored.
  • NIP-58: Badges: Badges should be self-contained on the user's relays. That means both the badge definition and the badge claim should be on the user's relays. This is to ensure that the user has full set of data for their own needs. Maybe Nostria will perform lookup on issuer relays to get updated badge definitio 8000 ns, but this is not a requirement. The user should be able to use the badge without relying on the issuer relay. That means that Nostria will publish both the badge definition and the badge claim to the user's relays.

Scaling Nostr

Nostria is designed to help Nostr scale. It is implementing the protocol in a way that focuses on decentralization and scalability.

Read more about the journey to scale Nostr globally:

Scaling Nostr
Discover Relays

Recommended IDE Setup

VS Code + Tauri + rust-analyzer + Angular Language Service.

Run from Code

Clone the repository. Install dependencies:

npm install

Start the development server:

npm start

Alternative if you want to run the desktop app:

npm run tauri dev

Classifications

  • Accounts - List of accounts that the user has access to.
  • Account - This is accounts of the user within the app.
  • Users - This is Nostr users. "User" and "Users" refer to Nostr users, not the current user of the app.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Making the Nostr protocol accessible to everyone, with a focus on user experience and performance for global scale.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  
0