This is a very basic guide, just to understand what's needed to set it up.
If you have any questions you can find me at https://nostr.com/8355095016fddbe31fcf1453b26f613553e9758cf2263e190eac8fd96a3d3de9
- a webserver with a domain under your control
- nostr account with private and public key setup on https://nostr.com, preferably set up with nos2x: https://github.com/fiatjaf/nos2x
Create a file that resolves to <domain>/.well-known/nostr.json, and fill it out like this (enter the name you want to use, and input your own public key, make sure its the HEX-key):
{
"names": {
"<name>": "<pubkey>"
}
}
For branle to be able to execute the file, you have to allow CORS on your webserver.
On nginx you just have to put this in the config:
add_header 'Access-Control-Allow-Origin' '*';
In branle, go to settings and fill inn your <name>@<your topdomain> in the "NIP-05 Identifier" field.
Go you your profile. If everything worked out, you will see a checkmark next to your name (based on your domain).
- NIP-05 Creation Tool: Use this to generate the .well-known/nostr.json file, and also a .htaccess file for Apache if you don't use Nginx
- CORS: Make sure CORS is correctly set up. You can test it here: https://www.test-cors.org/
- Pub-key: Only use the HEX-key. Npub-key won't work.
Perhaps I sounded too literal when I said "like an email address". I know this isn't email, but my point was that email addresses are formatted that way for a reason - they are user @ organization - and they wouldn't have became the de facto standard if they didn't have that additional level of abstraction at the organization level which was implemented via the MX RRType in DNS.
In way, you are saying something similar to what I've been trying to get across. You could create a "markjr" id at caughg.org - but these identifiers, whether they're email addresses in the legacy sense, or these new NIP-05 id's here in Nostr, people tend to want to use them as personal or organizational identities.
Maybe you set up an entire business creating ids and hosting metadata for other people, but a portion of them are going to want to be referenced through their own labels or identifiers.
So I would want to be able to create my identifier for "markjr" @ easydns.com which actually resolves out to my account at caughq.org
The extra level of abstraction also means I have portability - which is very important: If you just create "markjr" @ caughq.org and then shut down (or cancel me), then everything pointing at my now defunct nip05 id is bust and I have to start all over again with a new id. (It's no different than having your Twitter handle suspended.)
With the additional abstraction layer in there, I just create a new account at a new provider and update my DNS TXT record.