For those who keep hearing about Nostr but don't know where to start, this guide might just be for you. Be aware, you still need to be slightly technical to use Nostr to its fullest, though a casual user can certainly get started as long as they don't mind if they can't change certain things, or things might work in unexpected ways. This guide might also get outdated since things are changing quickly, Nostr is growing fast, and the developer community is vibrant for such a new project.
Nostr has multiple client implementations, relay implementations, and relay servers. They can be mixed and matched and data is reasonably portable between them. It works surprisingly well, even if not all features work everywhere in the same way always.
Damus is the fullest featured client at present. It only supports iOS, but if you have a working i-device of some kind, that might be worth dusting off just for Damus, it's that good. It has support for likes, many other clients don't, and it's been updated to support changing your profile details within the app itself.
If you do not have one, an Android Damus client is in the works, as are desktop clients. The web clients might have security issues, however.
Also, when you get your security details, definitely write down your nsec in a safe place and your npub in a convenient place, and try not to mix up the two. Similar for your public key and private key.
astral.ninja is my favorite web-based client. I would not recommend using a web client at the moment, however, since there are people who are exploiting browser bugs to steal people's private keys. It can also be a little slow if you have a lot of people you're following, especially on mobile. If you have an npub from Damus, that will work here, but be sure to grab the hex encoding also. A note on encodings: Hex encoding is 64 characters from 0-9 and a-f. An npub is a bech32 encoding, and is about same the length, but it starts with npub1
and is considered more "modern", but are less compatible with older clients. For those curious, see NIP-19: bech32-encoded entities.
Damus also operates a site for converting your npub and nsec keys to hex encoding for use on other clients that don't support the newer key format. See: https://damus.io/key/. Damus also has a web client, but it's down right now due to the aforementioned private key stealing issue.
Astral also lacks likes / hearts, and it has trouble loading images that aren't served from websites that have their HTTP servers configured to allow something called CORS. To fix this, if you run your own HTTP server like Nginx, look into this issue.
Be aware, if you follow more than a couple dozen people, Astral might become unusable just because of memory constraints. That's why it can be difficult to use on mobile.
There's no image upload feature on Nostr clients, so you have to use third-party sites like Imgur. I personally have a site I self-host from my residence from Synology NAS that has a CloudFlare CDN put in front for speed and IP privacy.
You may want to verify your identity using something called NIP-05: Mapping Nostr keys to DNS-based internet identifiers. I basically just put a file containing this JSON here:
https://cryptoquick.com/.well-known/nostr.json?name=cryptoquick. Then, in astral.ninja, I put cryptoquick@cryptoquick.com
as my NIP-05 identifier. This won't work for anyone else, because I specified my public key within the file, and nobody else should have my secret key that I use to sign my messages when they're checked against that public key.
NVK created a helpful guide for using GitHub Pages for NIP-05 verification: https://nvk.org/n00b-nip5
Damus recently rolled out a Lightning payments feature. To use it, if you're also a Strike user, go to https://strike.army and enter your Strike username. It'll generate something that looks like an email address called an LNURL. I got it working within Phoenix, but not Blue Wallet.
To mention a user, get their pk and prepend it with an @ sign. You can get it by tapping the key on their profile. It's that simple.
Definitely add more relays, it can help a lot. Here's a list of mine:
wss://nostr-relay.wlvs.space
wss://relay.damus.io
wss://relay.nostr.info
wss://nostr-2.zebedee.cloud
- This one is supposed to be particularly well-tuned and performant, thanks, andreneves!
wss://nostr-relay.untethr.me
wss://relay.nostr.ch
wss://relay.nostr.pro
Once set, these relays will generally propagate and be already setup between clients. To find more, here's a helpful list: https://nostr.watch/
Considering that Nostr is great as a social network (though not limited to being just that), if you have all this set up and want to follow some people, here's some folks I recommend following:
- fiatjaf
- does stuff with nostr, kind of a big deal
3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d
- jb55
- damus, bitcoin dev
32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245
- andreneves
- runs the zebedee relay
1b11ed41e815234599a52050a6a40c79bdd3bfa3d65e5d4a2c8d626698835d6d
- negrunch
- made the rana pubkey generator tool (it's how the nostr cool kids get these cool zeroes in front of our keys)
000000000652e452ee68a01187fb08c899496cb46cb51d1aa0803d063acedba7
- cryptoquick
- wrote this guide, does some stuff with rust and bitcoin
000000000332c7831d9c5a99f183afc2813a6f69a16edda7f6fc0ed8110566e6
- jack
- founder of twitter, spiral
82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2
- jack mallers
- the other jack, strike
c4eabae1be3cf657bc1855ee05e69de9f059cb7a059227168b80b89761cbc4e0
Also be sure to check out the nostr.directory which will also post your pubkey on Twitter.
For those wondering, Nostr definitely does use servers, but clients-- of which there are many-- are configured to use multiple servers and it's all pretty seamless. It's basically what Mastodon should have been, even though it might still run into scaling problems. The best part is even when one relay is over capacity, your client can use another easily enough. You might have a fragmented social experience that might be a bit confusing, but is that better than seeing the failwhale? You decide.
Also bear in mind, Nostr is a protocol that's actually much more flexible than just a use as a Twitter-like social media platform. For example, Anigma is a client that's more similar to a Telegram chat than a Twitter feed.
For more up-to-date links and information, see the resources listed on [Nostr.net]](https://www.nostr.net/). Also, for those who find technical stuff interesting, the NIPs are pretty short and well-written, they have a list of all the NIP by title.
Feel free to create an issue, file a PR, or reach out to me via a Nostr encrypted DM!