What I Have Learned About Nostr So Far

Like many people who hate the big tech monopoly of social media, complete with unquestionable woke narratives, censorship of wrong think and deplatforming, I have been seeking out alternatives to existing social media platforms. First it was the fediverse (which I love), and more recently i have been playing around with nostr.

Nostr is a protocol which uses encryption and a system of relays to create a decentralized messaging platform upon which other things can be built. It prioritizes simplicity, and allows users to generate a public/private key encryption pair which they can use to control their own data and take it with them when they change clients or platforms. Users can also contribute to the network by self-hosting their own relay, which distributes messages to other relays on the network.

Author’s note: After posting this article on Stacker News, I received some feedback from the community to clarify how nostr relays work.

From user @ama:

From your article: “Users can also contribute to the network by self-hosting their own relay, which distributes messages to other relays on the network.”

But in actuality it’s much better than that. Relays don’t talk to each others, as they’d do in a federated network like Mastodon, for example. It’s the clients which connect to one or tipicaly more relays and that way decide where to post their events (notes or else) and where to listen to.

You could think of relays as kind of databases where clients access to update (post events) or query (read events). Each relay keeps the history of events posted to it, but doesn’t talk (send or receive events from) other relays. It’s a truly decentralized system, where it’s the user (through their clients) who has the control, not the servers (relays).

That’s the reason why, as you say later in your article “My personal experience has been that nostr works better with more relays.”

@ama on stacker.news

You can follow me on nostr with my public key:

Nostr has been embraced by a large portion of the bitcoin/crypto community, and so far it is pretty cool. There are lots people working on nostr clients, apps, and services, and the user experience is improving amazingly fast. However, it is a little confusing for newcomers to get started with, so in an effort to share what I have learned, I have decided to write this post to help others get on nostr.

How to get started?

1. Generating a key pair

To start with nostr, you need to generate a key pair, which will be familiar to anyone who has used pgp. The key pair consists of a private key which you don’t share, and use to make posts and send messages, and a public key which you can share with anyone, which can be used to send messages to you, and to follow your account, etc.

The nostr client I am currently using is astral.ninja, I haven’t used others. There are various other clients, which I’ll list below.

If you go to the astral ninja site, you can generate a key with the generate key button in the login box.

Once you have generated your keys, make sure to save them somewhere safe. I am storing mine in Bitwarden, my favorite password manager app.

DO NOT SHARE YOUR PRIVATE KEY, it is called a private key, because it should remain private and known only by you. Anyone with access to your private key can steal your identity.

To log in to astral ninja, add your private key and click the green button. You can edit your profile by going to settings and clicking the edit button on your profile info.

To upload an image for your avatar, you’ll need to add it to an image hosting site, I’ll explain how later in this article. You’ll also need to add relays which I’ll cover next.

A Nip-05 identifier is nostr’s way of verifying your account so people cannot impersonate you, and your profile can be found easier by others. I’ll also explain a couple ways to get one.

2. Adding Relays

Relays connect you to content being hosted by others on the network. My personal experience has been that nostr works better with more relays.

Also in the settings section of astral ninja is the section to add relays. Just click edit and add the relays of your choice to begin receiving posts from other users in your timelines.

Here’s the full list of relays I have added to my profile. Most of these relays I got from fellow nostr user kortik:

  1. wss://rsslay.fiatjaf.com
  2. wss://nostr-pub.wellorder.net
  3. wss://expensive-relay.fiatjaf.com
  4. wss://nostr.rockswss://nostr.bitcoiner.social
  5. wss://relayer.fiatjaf.com
  6. wss://nostr-relay.wlvs.space
  7. wss://nostr-pub.semisol.dev
  8. wss://nostr.openchain.fr
  9. wss://nostr.delo.software
  10. wss://relay.nostr.info
  11. wss://nostr.ono.re
  12. wss://nostr.sandwich.farm
  13. wss://relay.nostr.ch
  14. wss://nostr.drss.io
  15. wss://nostr-pub.semisol.dev
  16. wss://nostr-relay.wlvs.space
  17. wss://nostr-verified.wellorder.net
  18. wss://relay.sovereign-stack.org
  19. wss://nostr.onsats.org
  20. wss://relay.cynsar.foundation
  21. wss://freedom-relay.herokuapp.com/ws
  22. wss://satstacker.cloud
  23. wss://relay.nostr.info
  24. wss://nostr.ono.re
  25. wss://nostr.delo.software
  26. wss://relay.nostr.pro
  27. wss://nostr.zebedee.cloud
  28. wss://nostr-relay.untethr.me
  29. wss://paid.no.str.cr
  30. wss://nostr.coinos.io
  31. wss://nostr-relay.freeberty.net
  32. wss://nostr.oxtr.dev
  33. wss://nostr.semisol.dev
  34. wss://nostr.unknown.place
  35. wss://no.str.cr
  36. wss://nostr.zerofeerouting.com
  37. wss://nostrrr.bublina.eu.org
  38. wss://nostr.fmt.wiz.biz
  39. wss://nostr.walletofsatoshi.com
  40. wss://nostr-relay.lnmarkets.com
  41. wss://relay.kronkltd.net
  42. wss://relay.stoner.com
  43. wss://nostr-relay.derekross.me
  44. wss://nostr.bongbong.com
  45. wss://nostr.roundrockbitcoiners.com
  46. wss://nostr.bitcoiner.social
  47. wss://nostr.slothy.win
  48. wss://nostr-sandbox.minds.io/nostr/v1/ws
  49. wss://relay.damus.io
  50. wss://nostr.orangepill.dev
  51. wss://monad.jb55.com:8080
  52. wss://nostr.drss.iowss://relay.minds.com/nostr/v1/ws
  53. wss://nostr.momwss://nostr.zaprite.io
  54. wss://nostr.fly.dev
  55. wss://nostr-relay.nonce.academy
  56. wss://nostr.onsats.org
  57. wss://nostr-01.bolt.observer
  58. wss://nostr.hackerman.pro
  59. wss://nostr.openchain.fr
  60. wss://relay.stoner
  61. wss://public.nostr.swissrouting.com
  62. wss://rsslay.nostr.net
  63. wss://nostr-relay.digitalmob.ro
  64. wss://nostr-relay.untethr.me
  65. wss://nostr-relay.digitamob.ro
  66. wss://nostr.0xtr.dev
  67. wss://dev2.hazilitt.fiatjaf.com

3. Posting on Nostr

Posting on nostr is similar to posting on twitter or pleroma. Just click post and type your message.

To add images, videos, or gifs to make your post more interesting, it is a bit trickier, so I’ll add an image someone posted to nostr showing how. I didn’t create the image and forget who did, but thanks to them you can liven up your post.


4. Following & Being Followed By People on Nostr

To follow people it is simple, just search their public key if you have it. You can search in the upper right corner. Then click the little plus/follow icon in Astral Ninja.

You can also unfollow by doing the same thing, and clicking the follow icon. To follow a user who appears on your timeline, click on their name and then click the follow icon button.

You can jumpstart the process to get followers and follow others by posting #plebchain

Doing so will cause other people in the plebchain to follow you, and then when they do, you should follow them back.

People can also follow you if you share your public key with them, just send them your public key and they can add you.

If you want to follow bitcoin people, there’s the Nostr Bitcoin Directory, which lists bitcoiners who are on Nostr.

There’s also the Nostr Twitter directory, which lists the Nostr profiles of people who are also on Twitter.

5. Getting a NIP-05 Identifier

You can also use the Nostr Twitter directory to verify your public keys and get a NIP-05 identifier for free.

Or, you can pay a few satoshis over lightning network and register your name with NostrPlebs.com.

I paid 10,000 sats and registered my name with Nostr plebs, they’ll provide you with a NIP-05 identifier which you can add to your profile, which will then display a verified checkmark.

To add your NIP-05 identifier in Astral, click settings, and edit your profile settings, then add the identifier, and click save.

You can also self host your own NIP-05 Identifier, but I am not really knowledgeable on that, although I think this option is for those who self host their own nostr relay, which I haven’t done yet.

Author’s Note: Stacker News user @ama also let me know about this post by Stacker News user @nvk which links to a tutorial written by nvk about How to setup LNURL Proxy using Github Pages, which explains how to self-host your NIP-05 identifier and use it with Alby wallet.

You can read it, here.

6. Self Hosting A Nostr Relay

For those who are a bit more technical and want to host their own relay, I’ll refer you to these two options which I have seen posted on nostr.

Option 1 is a tutorial by Andre Neves, which can be found, here.

Option 2 is a Nostr post which explains how, here.

7. Using Nostr On iOS or Android

Astral Ninja is a web client, but I have been able to also use it in Firefox on my Android phone. Alternatively there are two Android clients in early stage development which you’re welcome to try. I haven’t used either of them yet.

Android client 1: Nostros

Android client 2: Nosky

For iOS the only client I know of is: Damus.io

Someone on nostr also posted about a workaround which lets you get a damus-like nostr experience on Android, unfortunately, I don’t remember who, and cannot find the original post but thanks to them, here it is:

How to have the Damus experience on Android

There is a website called https://yosup.app created by tom@thomaswashere.com and it is very similar to Damus on iOS.

One thing I really like is it actually works well on mobile. These instructions will work for any web client on Android Install the Kiwi browser on Android.

In Kiwi, search for nos2x extension and add it from the Chrome Web Store Click on the three dots in the top right corner of the browser and scroll down to Extensions.

In the nos2x tab, choose Details Tap Extension Options and fill out the form Visit https://yosup.app and allow it to use the extension (if nothing happens when you choose a permission, just click the Back button and it will remember what you chose)

That’s it! Now you can use nostr on Android mobile

8. Other Nostr Clients

There are a bunch of Nostr web clients besides Astral Ninja, and also a couple desktop clients. Futr is one for linux which i used briefly. I almost forgot to mention once you have generated a pair of keys, you can use them with other clients and nostr based platforms.

Here’s a great list of other clients and nostr resources, Awesome Nostr

If you like the content, shoot me some Monero or Bitcoin:

lightning address: demitasse@btcpay.narrativerry.xyz