Skip to content
Vishal edited this page Feb 12, 2023 · 8 revisions

Introduction to Nostr Console

The simplest way to start nostr console is

./nostr_console_exe -k <private key in hex> or ./nostr_console_exe --prikey=<private key in hex>

Once it starts, the basic flow of the Nostr Console application is the following: Once you invoke the application with a --prikey option, it allows you to use this app as a Nostr client, where you can send events, message etc, as well as read them.

After you exit the app for the first time ( at end of its first invocation) the app will store all the events it has received in a file in pwd which by default is named "all_nostr_events.txt". The name does not imply that it has ALL nostr events, but only it has all the events that have been received by this client till now.

On next invocations, the app will read events from the file, and also fetch new events from the relays. And if it gets new events, it will show them as notifications.

The name of file is controlled by --file flag. Which will prove useful when you want to use the client with multiple accounts.

Notifications and Updates

whenever the user moves from one menu to other, or even press enter when in a 'room', then a 300 mili-second delay is taken to process all the events received since last such refresh, and notifications are printed/updated.

So if you want to see updates, or new events, you should press some menu to give the control back to the app, when it will show/print any notifications if applicable.

Public channels

Right now, there are three types of public rooms found in the 'public channels' section:

  1. public channel of kind 4x, which is what the 'nostr' and 'nostr_console' rooms are
  2. #t tags like #work etc, which are actually kind 1 messages with that particular tags, shown as 'rooms'
  3. #location tags with values such as usa, india, which are also given their own rooms.

Any of these can be entered by writing their id or name, or portions/prefixes thereofs.

Menu Info

Main Menu

  1. Global Feed - all kind 1 messages made in last few hours from almost everyone.
  2. Social Network Menu - The social network as seen on astral.ninja or Damus
    1. Your Feed - All replies, likes, posts from your follows, plus from about 20 well-known accounts ( list is in settings.dart file)
    2. Post/Reply/Like - Use it to make a post
    3. Replies/Likes to you - replies and likes made by others to your posts. By default such replies in last 24 hours are shown.
    4. Your posts - Threads that you started.
    5. Your Replies/Likes - Replies and likes that you made
    6. Follows' Posts/Replies/Likes - Made by your follows
    7. Search word(s) or event id - Search for words ( exact match) or event id ( event id should be minimum 6 bytes, all the first chars are matched)
    8. Follow new contact - Follow a new contact. You can mention users by their names, pubkeys or partial intial prefixes thereof.
    9. Show user profile - See your or any one else's profile
    10. Change # of hours printed - By default only latest 6 hours of events are printed. This number can be changed here.
    11. E(x)it to main menu - can use 11 or x to exit
  3. Public Channel Menu
    1. Enter a public channel - enter a public channel. Type its name or id, or prefixes thereof.
    2. Show all public channels - show all the hundreds of channels, or however many there are. By default only 20 are printed. Channels are printed according to recent activity.
    3. Create channel - create a kind 4x channel.
    4. E(x)it to main menu