Why Nostr? What is Njump?
2025-03-05 13:10:05
in reply to

Niel Liesmons on Nostr: > each community is actually a nostr public private key pair That's :110percent: what ...

> each community is actually a nostr public private key pair
That's :110percent: what I'm talking about sir!
And it's good enough (if not totally awesome) for public communities in my mind.

The Key Pair

What a Nostr key pair has by default:

  • A unique ID
  • A name
  • A description
  • An ability to sign stuff

The Relay

What a Nostr relay has (or should have) by default:

  • Permissions, Moderation, AUTH, …
  • Pricing & other costs to make the above work (cost per content type, subscriptions, xx publications per xx timeframe, …)
  • List of accepted content types
  • (to add) Guidelines

The Community

Since I need Communities to have all the above mentioned properties too, the simplest solution seems to be to just combine them. And when you already have a key pair and a relay, you just need the third basic Nostr building block to bring them together…

The Event

To create a #communikey, a key pair (The Profile) needs to sign a (kind 30XXX) event that lays out the Community’s :

  1. Main relay + backup relays
  2. Main blossom server + backup servers
  3. (optional) Roles for specific npubs (admin, CEO, dictator, customer service, design lead, …)
  4. (optional) Community mint
  5. (optional) “Welcome” Publication that serves as an introduction to the community

This way:

  • any existing npub can become a Community
  • Communities are not tied to one relay and have a truly unique ID
  • Things are waaaaaay easier for relay operators/services to be compatible (relative to existing community proposals)
  • Running one relay per community works an order of magnitude better, but isn’t a requirement

The Publishers

What the Community enjoyers need to chat in one specific #communikey :

  • Tag the npub in the (kind 9) chat message

What they needs to publish anything else in one or multiple #communikeys :

  • Publish a (kind 32222 - Targeted publication) event that lists the npubs of the targeted Communities
  • If the event is found on the main relay = The event is accepted

This way:

  • any existing publication can be targeted at a Community
  • Communities can #interop on content and bring their members together in reply sections, etc…
  • Your publication isn’t tied forever to a specific relay

Ncommunity

If nprofile = npub + relay hints, for profiles
Then ncommunity = npub + relay hints, for communities

Author Public Key
npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q