We’re big fans of decentralized social media platforms (we’ve been operating a public Mastodon instance for years), so when Nostr came along (Notes And Other Stuff Transmitted by Relays) it we immediately saw the potential and started getting involved.
We wrote an introduction to Nostr here, and stood up a public Nostr relay at wss://nostr.easydns.ca
With NIP-05 identifiers, we setup easyNostr, which enables one to setup a free NIP-05 identifier under one of the easyNostr domains (mynostr.io, nostr.ly, easynostr.com or nostriorio.us).
NIP-05 Identifiers need custom domains
Whenever we see an identifier in the form of firstname.lastname@example.org we immediately look at the part after the ‘@’ and we think “that should be your own domain”.
So while there are a lot of quality services out there running Nostr clients and relays that will give you a NIP-05 at their domain (which would be the same as using one of ours at easyNostr), that’s fine for entry level – you really want that NIP-05 to be a custom domain.
easyNostr also allows you to setup your own domain as a NIP-05 endpoint, but until now that involved pointing your domain to our service, either by aliasing the domain apex or creating a subdomain and setting that to the easyNostr endpoint. Our system then handles issuing a TLS certificate for it (using Lets Encrypt) and creating the json payload with your pubkey.
But it’s not optimal, and at the risk of going on a tangent, it’s why we think the NIP-05 spec (along with the lud-16 spec for Lightning addresses), should have also included a mechanism for specifying either the location of the json payload, or even the pubkey itself within a DNS TXT record.
It’s an ongoing theological battle I have going with some of the core devs at Nostr, (and one I have been continuously losing).
Enabling your Wordpress site for NIP-05
Wordpress is the most popular and widespread CMS going today. With it’s vast plugin repository it provides a great opportunity to simply create a NIP-05 plugin that can simply serve up the pubkeys for each account on a site and now every registered user on a given WordPress site can have a verified NIP-05 id under the site’s domain name.
The plugin has been available via the easyDNS Github for awhile, it was just approved for the Wordpress plugin repository this week.
It’s not a simple matter of installing and activating the plugin, however. For NIP-05 authentication to occur, you have to enable CORS on your webserver, which can be tricky, and you have to be able to forcetype .json files to execute as PHP.
The plugin tries to do all of that via .htaccess directives, but probably fails more often than it succeeds – you will almost certainly have to work with your cPanel or Plesk settings (links to docs are in the readme) or otherwise work with your IT team or hosting provider.
Further Reading About Nostr
- Move Over Mastodon, Here Comes Nostr
- easyNostr: Easily setup NIP-05 id’s at your own domain
- The easyNostr Wordpress Plugin Page
- The easyNostr page on Github
- Using DNS to simplify Bitcoin addressing