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.
The NIP-05 spec specifically addresses this portability issue by stating that once resolved, clients MUST manage follows with the pubkey, not the NIP-05 identifier. This way if the identifier breaks, only the identifier is no longer valid. You don't lose all of your followers or anything like that:
https://github.com/nostr-protocol/nips/blob/master/05.md#clients-must-always-follow-public-keys-not-nip-05-addresses