Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avlo/superconductor
Nostr Relay - Java/Spring/WebSocketSession Implementation
https://github.com/avlo/superconductor
Last synced: 2 months ago
JSON representation
Nostr Relay - Java/Spring/WebSocketSession Implementation
- Host: GitHub
- URL: https://github.com/avlo/superconductor
- Owner: avlo
- License: mit
- Created: 2023-11-21T17:29:56.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-18T01:32:23.000Z (7 months ago)
- Last Synced: 2024-05-18T18:52:42.721Z (7 months ago)
- Language: Java
- Homepage:
- Size: 235 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - SuperConductor - Java Nostr-Relay Framework & Web Application. Java 20, Spring WebSocketSession 3.2.2, Spring Boot 3.2.4, atop [nostr-java library](https://github.com/tcheeric/nostr-java). Simple. Clean. OO. (Relays / Implementations)
README
```java
███████╗██╗ ██╗██████╗ ███████╗██████╗ ██████╗ ██████╗ ███╗ ██╗██████╗ ██╗ ██╗ ██████╗████████╗ ██████╗ ██████╗
██╔════╝██║ ██║██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗████╗ ██║██╔══██╗██║ ██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗
███████╗██║ ██║██████╔╝█████╗ ██████╔╝██║ ██║ ██║██╔██╗ ██║██║ ██║██║ ██║██║ ██║ ██║ ██║██████╔╝
╚════██║██║ ██║██╔═══╝ ██╔══╝ ██╔══██╗██║ ██║ ██║██║╚██╗██║██║ ██║██║ ██║██║ ██║ ██║ ██║██╔══██╗
███████║╚██████╔╝██║ ███████╗██║ ██║╚██████╗╚██████╔╝██║ ╚████║██████╔╝╚██████╔╝╚██████╗ ██║ ╚██████╔╝██║ ██║
╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
```
# Java Nostr-Relay Framework & Web Application### Supported Nips
- [NIP-01](https://nostr-nips.com/nip-01) (Basic protocol & Standard Tags)
- [NIP-02](https://nostr-nips.com/nip-02) (Contact List and Petnames)
- [NIP-03](https://nostr-nips.com/nip-03) (OpenTimestamps Attestations for Events)
- [NIP-04](https://nostr-nips.com/nip-04) (Encrypted Direct Message)
- [NIP-05](https://nostr-nips.com/nip-05) (DNS-based internet identifiers)
- [NIP-06](https://nostr-nips.com/nip-06) (Basic key derivation from mnemonic seed phrase)
- [NIP-07](https://nostr-nips.com/nip-07) (window.nostr capability for web browsers)
- [NIP-08](https://nostr-nips.com/nip-08) (Handling Mentions)
- [NIP-10](https://nostr-nips.com/nip-10) (Marked "e" tags)
- [NIP-11](https://nostr-nips.com/nip-11) (Relay Information Document)
- [NIP-12](https://nostr-nips.com/nip-12) (Generic Tag Queries)
- [NIP-14](https://nostr-nips.com/nip-14) (Subject tag in Text events)
- [NIP-16](https://nostr-nips.com/nip-16) (Event treatment)
- [NIP-18](https://nostr-nips.com/nip-18) (Reposts)
- [NIP-19](https://nostr-nips.com/nip-19) (Bech-32 encoded entities)
- [NIP-20](https://nostr-nips.com/nip-20) (Command Results)
- [NIP-21](https://nostr-nips.com/nip-21) (URI scheme)
- [NIP-22](https://nostr-nips.com/nip-22) (Event "created_at" limits)
- [NIP-25](https://nostr-nips.com/nip-25) (Reactions)
- [NIP-27](https://nostr-nips.com/nip-27) (Text Note References)
- [NIP-28](https://nostr-nips.com/nip-28) (Public Chat)
- [NIP-30](https://nostr-nips.com/nip-30) (Custom Emoji)
- [NIP-31](https://nostr-nips.com/nip-31) (Unknown event kinds)
- [NIP-33](https://nostr-nips.com/nip-33) (Parameterized Replaceable Events)
- [NIP-36](https://nostr-nips.com/nip-36) (Sensitive Content / Content Warning)
- [NIP-38](https://nostr-nips.com/nip-38) (User Statuses)
- [NIP-39](https://nostr-nips.com/nip-39) (External Identities in Profiles)
- [NIP-42](https://nostr-nips.com/nip-42) (Authentication of clients to relays)
- [NIP-46](https://nostr-nips.com/nip-46) (Nostr Connect)
- [NIP-48](https://nostr-nips.com/nip-48) (Proxy Tags)
- [NIP-52](https://nostr-nips.com/nip-52) (Calendar Events)
- [NIP-53](https://nostr-nips.com/nip-53) (Live Activities)
- [NIP-56](https://nostr-nips.com/nip-56) (Reporting)
- [NIP-57](https://nostr-nips.com/nip-57) (Lightning Zaps)
- [NIP-58](https://nostr-nips.com/nip-58) (Badges)
- [NIP-89](https://nostr-nips.com/nip-89) (Recommended Application Handlers)
- [NIP-99](https://nostr-nips.com/nip-99) (Classified Listings)
- used by [Barchetta](https://github.com/avlo/barchetta) Smart-Contract Negotiation Protocol (in progress) atop [Bitcoin](https://en.wikipedia.org/wiki/Bitcoin) [Lightning-Network](https://en.wikipedia.org/wiki/Lightning_Network) [RGB](https://rgb.tech/)#### In-Progress
- [NIP-15](https://nostr-nips.com/nip-15) (Nostr Marketplace)
- used by [Barchetta](https://github.com/avlo/barchetta) Smart-Contract Negotiation Protocol (in progress) atop [Bitcoin](https://en.wikipedia.org/wiki/Bitcoin) [Lightning-Network](https://en.wikipedia.org/wiki/Lightning_Network) [RGB](https://rgb.tech/)
----
### Normal/Production Mode (for most users) Instructions:
#### Confirm minimal docker requirements$ docker --version
> Docker version 27.0.3
$ docker compose version
> Docker Compose version v2.28.1(Download links for the above)
- [Docker](https://hub.docker.com/_/docker) 27.0.3
- [Docker Compose](https://docs.docker.com/compose/install/) v2.28.1----
#### Download Superconductor Docker Image from [hub.docker](https://hub.docker.com/repository/docker/avlo/superconductor-app/tags)
$ docker pull avlo/superconductor:1.7.5----
#### Download Docker-Compose configuration file _(and optionally [edit various parameters](docker-compose-prod.yml?plain=1#L10,32,L36-L37) as desired)_:
[docker-compose-prod.yml](docker-compose-prod.yml)
----
#### Run SuperConductor
$ docker compose -f ///docker-compose-prod.yml up -dSuperconductor is now ready to use.
----
##### Stop docker containers
$ docker compose -f docker-compose-prod.yml stop superconductor superconductor-db##### Remove docker containers
$ docker compose -f docker-compose-prod.yml down --remove-orphans
#### [Development Mode Instructions](DEVELOPMENT.md)