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.
It's not intended to be an email address. It's verifying that a domain is vouching for a particular user, or that the user exists at the domain. It's just formatted like an email address because that's how email addresses are also formatted. user@domain. This doesn't mean that the user at that domain can necessarily receive email there. For example, there are lots of people on Nostr taking small payments to vouch for other users at their domain. Those usernames likely don't even exist on the system that is hosting the webserver for that domain, nor can receive email there. I can create an entry for "markjr" in my validator at caughq.org, and now that's a valid NIP-05 address, but it is not an email address as I don't host email for you at my domain, nor do you actually have an account on the system.
NIP-05 specifically calls this an "Internet Identifier": https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1