lnbits-legend/lnbits/extensions/nostrnip5
2023-01-03 20:05:44 +00:00
..
static Tile size standard should be 128px 2023-01-03 20:05:44 +00:00
templates/nostrnip5 Fixes all those ugly hyperlinks 2022-12-29 23:51:18 +00:00
__init__.py WIP nostr nip5 extension 2022-12-20 06:28:43 -06:00
config.json Updated extension card layout 2023-01-01 18:14:20 +00:00
crud.py fix mypy for nostrnip5 ext 2022-12-30 09:46:45 +01:00
migrations.py formatting 2022-12-20 07:15:54 -06:00
models.py add self-service pubkey rotation for nip-05 addresses 2022-12-21 14:05:45 -06:00
README.md update readme 2022-12-21 15:17:28 -06:00
tasks.py fix mypy for nostrnip5 ext 2022-12-30 09:46:45 +01:00
views_api.py fix mypy for nostrnip5 ext 2022-12-30 09:46:45 +01:00
views.py fix mypy for nostrnip5 ext 2022-12-30 09:46:45 +01:00

Nostr NIP-05

Allow users to NIP-05 verify themselves at a domain you control

This extension allows users to sell NIP-05 verification to other nostr users on a domain they control.

Usage

  1. Create a Domain by clicking "NEW DOMAIN"\
  2. Fill the options for your DOMAIN
    • select the wallet
    • select the fiat currency the invoice will be denominated in
    • select an amount in fiat to charge users for verification
    • enter the domain (or subdomain) you want to provide verification for
      • Note, you must own this domain and have access to a web server
  3. You can then use share your signup link with your users to allow them to sign up

Installation

In order for this to work, you need to have ownership of a domain name, and access to a web server that this domain is pointed to.

Then, you'll need to set up a proxy that points https://{your_domain}/.well-known/nostr.json to https://{your_lnbits}/nostrnip5/api/v1/domain/{domain_id}/nostr.json

Example nginx configuration

## Proxy Server Caching
proxy_cache_path /tmp/nginx_cache keys_zone=nip5_cache:5m levels=1:2 inactive=300s max_size=100m use_temp_path=off;

location /.well-known/nostr.json {
   proxy_pass https://{your_lnbits}/nostrnip5/api/v1/domain/{domain_id}/nostr.json;
   proxy_set_header Host {your_lnbits};
   proxy_ssl_server_name on;

   expires 5m;
   add_header Cache-Control "public, no-transform";

   proxy_cache nip5_cache;
   proxy_cache_lock on;
   proxy_cache_valid 200 300s;
   proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
}