What is nostr?
nostr

How to get started with Nostr

Decentralized Social Media and the Future of Online Communication

Gary Woodfine

Gary Woodfine

09 Oct 2024

In What is nostr we introduced Nostr (Notes and Other Stuff Transmitted by Relays) a decentralized protocol designed for creating a censorship-resistant global social network.

Probably the most confusing, frustrating and obscure part about getting started with Nostr, is just how do you go about creating an account. When I first got started with nostr, I must've created hundreds of accounts, in trying to figure out just how to do so.

Firstly, currently getting started with Nostr and the daily experience, is probably not as seamless and polished as you may have come to expect from commercial vendors of social media platforms.

What is Nostr

Decentralized Social Media and the Future of Online Communication

Nostr is an open protocol, which means that it is open to anyone and any organization is able to build and run services on it. This comes with many pros and cons. One of the cons, is that for at least this period in its lifespan, is that the user experience does not quite meet expectations and some services may be a little patchy. The good news, is we can all actually work to make this better.

In this post, we going to take you through the process of getting started with Nostr and teach some of the key concepts and best practices of using Nostr along the way.

Nostr uses blockchain technology to provide a censorship-resistant platform where user data remains private and secure. The Nostr protocol relies on relays (servers that facilitate message distribution without centralized storage). This means that each user contributes to the network’s robustness and resilience.

Managing your public & private keys

In the world of Bitcoin there is a saying "Not your keys, not your Bitcoin", this also applies to Nostr, "Not your keys, not your nostr".

Not your keys, not your nostr!

Creating, securing and managing your, public and private keys, is the first thing and most crucial aspect of nostr, many users need to learn. is that just like Bitcoin, it use Public and Private Key Cryptography to create secure user accounts.

Nostr uses NIP-19 for key management, and private keys are typically encoded using a bech32 encoding scheme for secure identification and easy sharing.

Here's an example of a private key on Nostr:

nsec1qw508d6qejxtdg4y5r3zarvary0c5xw7k5ux2kuc5ecckfd47uqmppau7d

This is a sample key and is only to serve as an illustration

This string follows the bech32 encoding specification and starts with the prefix nsec to indicate it's a private key. T he actual content after the prefix will vary based on the specific key.

Public keys are also encoded using the bech32 encoding scheme as specified by NIP-19. Here's an example of a public key in Nostr:

npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxsq5nr3

This is a sample key and is only to serve as an illustration

This string starts with the prefix npub to indicate that it is a public key. The content after the prefix will vary depending on the specific key. Public keys are safe to share and can be distributed to others to receive communications or verify signatures.

Each user is responsible for managing their private key, which is the cornerstone of their digital identity and account security. Your private key is a unique access token that encrypts communications and ensures that only the user can access their messages and profile.

          +-------------------+
          |    Public Key     |
          +-------------------+
                  |
                  v
          +-------------------+
          | Private (Signing) |
          |    Key (NSEC)     |
          +-------------------+

Managing this private key is crucial. Unlike traditional passwords, if a private key is lost, access to the corresponding Nostr account is irretrievably compromised.

Nostr key management tools

A Nostr key management tool is a software application designed to help users securely generate, manage, and store their cryptographic keys used in the Nostr protocol. Proper key management is crucial because keys are essential for identity and communication within the Nostr network.

Key management tools can provide various functionalities, which may include:

  • Key Generation: Creating new cryptographic key pairs (public and private keys) securely.
  • Key Storage: Safely storing private keys, often with encryption, and ensuring they are not exposed or accessible to unauthorized parties.
  • Key Retrieval: Easy retrieval of public keys for sharing and private keys for signing operations.
  • Backup and Recovery: Tools to back up keys securely and recover them in case of data loss.
  • Key Import/Export: Importing existing keys from other tools or exporting keys to be used in different applications.
  • Encryption/Decryption: Using keys to encrypt and decrypt data.
  • Signing/Verification: Signing messages and verifying signatures using the cryptographic key pairs

How to create Public and Private keys

There is nothing too complicated in getting set up and using nostr, but nevertheless is can be an incredibly daunting prospect. However, there are number of great resources currently available and the ecosystem is growing everyday.

Many of the people currently on using nostr on a daily basis more than likely came to it via the Bitcoin ecosystem, and for them, the learning curve was not that steep and for most of them a fairly intuitive process. However, if you're coming across to nostr straight from Twitter, TikTok or Instagram then you're most likely going to find nostr completely discombobulating and highly likely to be initially frustrated by the whole experience.

Creating an account with nostr clients

One way, and to be honest the most likely way most new users to Nostr will create an account, or as what in reality is actually being done, generating your public and private key set is by making use of a nostr client.

In what is nostr we described a client as an interface for viewing messages sent over the Nostr protocol. We won't go into the individual advantages and disadvantages of each individual client, because for the most part these can be purely subjective and personal opinion based. However, one of the great things about nostr, you are never stuck with a single client. Once you have your "account", created you can switch clients relatively easily.

We won't go into details on how to do this, because the clients themselves tend to have a great information and instructions to guide you through the process.

Create nostr account with Browser Extension

Alby is a popular browser extension that provides Nostr functionality. You can create an account using Alby and then use it to interact with the Nostr network. To do this:

  1. Go to getalby.com and create an account using your email address.
  2. Install the Alby browser extension.
  3. Connect your account to Alby.
  4. In the Alby settings, navigate to the “Key Management” section and import your Nostr private key.

Once you have completed these steps, head to your Nostr client (if you have one) and upload your profile picture, fill in your name and about me section, and add your website.

Gary Woodfine
Gary Woodfine

Back-end software engineer

Experienced software developer, specialising in API Development, API Design API Strategy and Web Application Development. Helping companies thrive in the API economy by offering a range of consultancy services, training and mentoring.

Need help starting your API project?

We'll help you with your API First strategy, Design & Development