Also check out how the newer version of nostr-login works on nostr.band - there is a N banner on the right screen border.
If you support nip07 you could just drop this script to your html head and it should work: https://www.unpkg.com/nostr-login@latest/dist/unpkg.js
Nsec.app already has some baby-steps shared access features released in the last couple of weeks. More coming very soon. Coracle and Nostrudel work fine with nsec.app as far as I know.
As far as I understand from a quick investigation, your ln wallet publishes invalid zap events. Most clients don't really verify anything, but nostr.band does, because it tries to count real payments.
> SHA256(description) MUST match the description hash in the bolt11 invoice.
This nip57 rule is broken in 9735 events published by your wallet (minibits I'm guessing):
Also many numbers under npubs/events are probabilistic counters, they are never accurate, but reliably around the actual numbers. Overall stats are different and much more accurate.
Outbox is already used to discover new relays to crawl. No there will never be accurate data, just like there can never be accurate data about the web - only good estimates.
You could decrypt them once and re-encrypt with your local cache-key, and then only use that local key for cache data. That's a lot of work, but it's not impossible.
You can do batching right now, just send 100 nip46 requests without waiting for the replies and you've got the batch - you pay 1 RTT per batch. We discussed this once on github, IIRC nsec.app was able to do ~50 decrypts per second. Unlikely to get much faster, 90% of time is spent verifying signatures of nip46 requests etc.
How about generating a 'cache key', encrypting it using nip04, storing it locally, encrypting locally cached stuff with it, and then when you reload - decrypting only that key and then decrypting all the cached stuff?
I understand the penalty of the initial load of all DMs, but you're probably writing them into the local cache so further operation shouldn't be costly?
How about generating a 'cache key', encrypting it using nip04, storing it locally, encrypting locally cached stuff with it, and then when you reload - decrypting only that key and then decrypting all the cached stuff?
The use case is that I won't paste nsec to blowater, that I can have restricted permissions, etc. And the complexity is probably worth it in terms of performance bcs you can use native encryption instead of nip04
Note though that strfry may not delete ephemeral events (it's some known issue and I didn't investigate deeper), so use 'since' filter to cut the old events when requesting 24133 from there.
Nip46 signer (which is what nsecbunker is) does not need a tunnel. it does not need a public IP, does not need a reverse proxy.
Nip46 client sends requests to some public relay, and signer reads those events from public relay, signs, and sends replies to the same relay, which client reads. Nsec.app runs this nip46 signer in your browser service worker.
Try Primal with nsec.app!
Go to primal.nostrapps.org (a forked Primal with nostr-login widget) and use your name@nsec.app to login.
https://v.nostr.build/lLLBG.mp4
Our relay may hide the absence of gossip implementation in clients, so I wonder if I should turn the relay off to support this small relays movement. Although at this point with rebroadcasting etc it might not make much of a difference.
Notes by brugeman | export