Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kfrancis/nusocial
.NET MAUI Nostr Client
https://github.com/kfrancis/nusocial
nostr
Last synced: about 1 month ago
JSON representation
.NET MAUI Nostr Client
- Host: GitHub
- URL: https://github.com/kfrancis/nusocial
- Owner: kfrancis
- License: mit
- Created: 2022-12-19T17:12:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T05:01:10.000Z (over 1 year ago)
- Last Synced: 2024-02-27T04:08:29.015Z (10 months ago)
- Topics: nostr
- Language: C#
- Homepage:
- Size: 3.55 MB
- Stars: 16
- Watchers: 2
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NuSocial
.NET MAUI Nostr Client
- [x] create basic .net lib
- [x] serialize event
- [x] deserialize event
- [x] proper disconnect
- [x] multi-relay support
- [x] blocking relays
- [x] blocking users
- [ ] handle profile images using blurhash
- [ ] handle tags
- [ ] markdown parsing
- [ ] eula## NostrKey
Simple console app, should be able to run anywhere .NET 7 can.
### Features
- [x] generates diff 0 keys
- [ ] generating keys with prefixes
- [ ] publish as dotnet tool
- [ ] meaningfully generating keys with varying difficulty#### Example
Running `NostrKey 0` gives the following type of output:
```
Started mining process with a difficulty of: 0
Benchmarking a single core for 5 seconds...
A single core can mine roughly 2704.92 h/s!
Public Key: 70c847ff3522ca7a626c0ff280db2e8dfea63e6425580c3aa55530921cc40e4d
Private Key: 303298dd83b8db5d56a4e8901107a8bf88a5706e82177c0ed9d9af3eed579f3a
```## NostrLib
Based on NNostr, but I couldn't quite understand how it was meant to be used so I've written a new one.
### Features
- [x] connect
- [x] disconnect
- [x] fetch events of varying filters
- [x] get profiles
- [x] get global posts
- [x] get individual feed
- [x] NIP-04 encrypt/decrypt
- [ ] handle the varying way markdown is packed into profiles## Thoughts
### Images
- [BlurHash](https://blurha.sh/) is how we'll store compact representations of profile images so they load immediately and we can then load them dynamically as they are seen.![Current progress](/nusocial.gif "Current progress")