Skip to content

Nostr NIP05 Server

TODO

  • Demo the existing tooling for the LLM Bot
  • Generalize the LLM Bot into a template, write docs
  • Write tests for the Parsing of the NIP05 bot
  • Map out the event stream of the bot being used, create all the events manually, this way we know the event kinds and tags n stuff.
    • Document this shit like no tomorrow
  • Write the daemon that updates the nostr.json file, it should also be part of the CLI.

User Journey

  • I have a domain name and a static site, s3, or github pages and want to allow people to obtain, and eventually buy, NIP05 identifiers from me.
  • I write a bash script that when run somehow takes a file on my system and mounts it to $DOMAIN_NAME/.well-known/nostr.json
  • I run run a bot somewhere, even on the server running the static site. This bot listens to specific NOSTR events THAT WE HAVE TO DEFINE AND DOCUMENT. The events explain how to update the nostr.json file. When ones of these meets the conditions to trigger an update. The existing nostr.json is read from $DOMAIN_NAME/.well-known/nostr.json, or locally if it does not exist, updates are made, and new nostr.json is published.

Bot Update nostr.json Journey

  • Bot receives ping message
    • Respond with ping message
  • Bot receives message to assign NIP05 Identity
    • uses fetch to GET the nostr.json
    • IF the identity has been already assigned
      • Update JSON
      • REMEMBER TO ADD RELAYS
      • Export JSON to file
      • Run script with path to JSON file
    • ELSE
      • Respond with string to user
  • Bot receives NIP05 relay update
    • uses fetch to GET the nostr.json
    • IF sender of event is owner of NIP05 identity in nostr
      • Update JSON
      • Export JSON to file
      • Run script with path to JSON file
    • Else
      • Respond with string and error

Questions