This is good. Which client did you use to publish this NUD?


Oh yeah I need to be able to select available modes myself too, will ping you when it's ready.


nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy and I are going to hop on a livestream starting in about 40 minutes.

We’re planning to discuss the following:

nsec.app
ecash
Blossom
hardware signers
developing open source versus commercial software
update on learnings from the nostr.band stats dashboards

What else do you want to hear from Artur about?

of course, we’ll be going live on zap.stream 🤙


# Edge

A visually aesthetic [Ghost](https://github.com/TryGhost/Ghost) theme designed for creative professionals. Showcase your works with minimal style and presentation.

**Demo: https://edge.ghost.io**

# Instructions

1. [Download this theme](https://github.com/TryGhost/Edge/archive/main.zip)
2. Log into Ghost, and go to the `Design` settings area to upload the zip file

# Development

Styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:

```bash
# Install
yarn

# Run build & watch for changes
yarn dev
```

Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.

The `zip` Gulp task packages the theme files into `dist/edge.zip`, which you can then upload to your site.

```bash
yarn zip
```

# Contribution

This repo is synced automatically with [TryGhost/Themes](https://github.com/TryGhost/Themes) monorepo. If you're looking to contribute or raise an issue, head over to the main repository [TryGhost/Themes](https://github.com/TryGhost/Themes) where our official themes are developed.

# Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).


We were all hoping apps would add themselves to the recommendation lists but everyone is shy.


# Casper

The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Casper! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Casper/releases) page.

![screenshot-desktop](https://user-images.githubusercontent.com/1418797/183329195-8e8f2ee5-a473-4694-a813-a2575491209e.png)

# First time using a Ghost theme?

Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.

This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/themes/) which explains every possible Handlebars helper and template.

**The main files are:**

- `default.hbs` - The parent template file, which includes your global header/footer
- `index.hbs` - The main template to generate a list of posts, usually the home page
- `post.hbs` - The template used to render individual posts
- `page.hbs` - Used for individual pages
- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`"
- `author.hbs` - Used for author archives, eg. "all posts written by Jamie"

One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example:

- `page-about.hbs` - Custom template for an `/about/` page
- `tag-news.hbs` - Custom template for `/tag/news/` archive
- `author-ali.hbs` - Custom template for `/author/ali/` archive

# Development

Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:

```bash
# install dependencies
yarn install

# run development server
yarn dev
```

Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.

The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.

```bash
# create .zip file
yarn zip
```

# PostCSS Features Used

- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser.
- [Color Mod](https://github.com/jonathantneal/postcss-color-mod-function)

# SVG Icons

Casper uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`.

You can add your own SVG icons in the same manner.

# Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).

A clean, minimal default theme for the Ghost publishing platform


# Source

The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Source! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Source/releases) page.

# First time using a Ghost theme?

Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.

This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/themes/) which explains every possible Handlebars helper and template.

**The main files are:**

- `default.hbs` - The parent template file, which includes your global header/footer
- `home.hbs` - The homepage
- `index.hbs` - The main template to generate a list of posts
- `post.hbs` - The template used to render individual posts
- `page.hbs` - Used for individual pages
- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`"
- `author.hbs` - Used for author archives, eg. "all posts written by Jamie"

One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example:

- `page-about.hbs` - Custom template for an `/about/` page
- `tag-news.hbs` - Custom template for `/tag/news/` archive
- `author-ali.hbs` - Custom template for `/author/ali/` archive

# Development

Source styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:

```bash
# install dependencies
yarn install

# run development server
yarn dev
```

Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.

The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.

```bash
# create .zip file
yarn zip
```

# PostCSS Features Used

- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser.

# SVG Icons

Source uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`.

You can add your own SVG icons in the same manner.

# Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).

A default theme for the Ghost publishing platform


# Dope

A unique tag-based [Ghost](https://github.com/TryGhost/Ghost) theme to arrange your publications into collections. Keep organized and let your readers explore your publications with beautifully designed tag columns.

**Demo: https://dope.ghost.io**

# Instructions

1. [Download this theme](https://github.com/TryGhost/Dope/archive/main.zip)
2. Log into Ghost, and go to the `Design` settings area to upload the zip file

# Development

Styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:

```bash
# Install
yarn

# Run build & watch for changes
yarn dev
```

Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.

The `zip` Gulp task packages the theme files into `dist/dope.zip`, which you can then upload to your site.

```bash
yarn zip
```

# Contribution

This repo is synced automatically with [TryGhost/Themes](https://github.com/TryGhost/Themes) monorepo. If you're looking to contribute or raise an issue, head over to the main repository [TryGhost/Themes](https://github.com/TryGhost/Themes) where our official themes are developed.

# Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).


Deal, thank you!


100% agree, that's why I'm saying offering this as nip96 option (even if paid, restricted etc) could serve those use cases, and I'm guilty as anyone in digging hyped stuff without looking through existing NIPs first. And you sure didn't waste time implementing nip96, it seems to be quite good, even if a bit too verbose for my taste.


I agree with you about imgproxy, but then there's no NIP for "accepting optimized version after the fact" and I'd say it's probably much trickier than you say. Anyways, you don't have to offer this option if you don't like it, I'm just comparing the NIPs.


You are right 99.99% of the time it's ok to trust the media hosting someone is using for trivial memes etc. But if some controversial video is released, it would be great if anyone could re-upload the original to other servers and they'd all serve the original and any client could verify it's original, etc. That's the problem blossom is solving.

Re. my use case, I'd like to host some code in the same "link rot avoiding way", and I know you wouldn't probably transform it anyway, but I will also upload images that shouldn't also be transformed. I haven't considered git, and maybe I could even just host it all in nostr events... We'll see.

My point in posting here was to understand what problem blossom solves vs nip96, and I'd say a small addition to nip96 could make it supercede blossom and you could then just ignore it :)


Ok I will check existing servers to find one that doesn't transform. Consider adding that as an option per upload.


Ok so I need a storage server integration for our product. Blossom is very simple spec focused on fighting link rot and decentralization, key to which is that uploaded files must not be modified, so my app wouldn't have to trust the server. Blossom invents it's own auth instead of nip98, needlessly.

Wrt nip96, which I didn't consider, but looking at right now, it's much more verbose and covers a lot, and uses hash for addressing, but lacks one critical thing - I want to ask the server to keep the original and do no transformations. Adding this one option would make it a superset of blossom and I would be able to use it. Maybe there's such an option and I missed it in the nip96 spec?


Yeah I found that link, thanks!


Which servers support nip96? nostr.build?


On your takeaways:

> - over half the Nostr listed relays are using some sort of spam mitigation technique(s)

That's great to know!

> - the attack was still achieveable

Attack of what exactly? You wasted 10gb of space on some relays, and got to top on one app. Other apps were fine.

> - socal media is easily manipulated

Nostr? That specific app?

>  follower counts and engagement are worthless

They work in some context and not in others. For algos, i.e. that order profiles by popularity, fc is bad, which was always known, and no "spam prevention" will change that.

> - content is the real treasure

How can this insight help improve the app that you attacked? How can it help prevent spam?


Delete not supported yet? I'm getting 403


If it had a proper solution to races then yes please!


I believe wot is the solution, and global state/metrics/algos have limited future. We don't use 'number of links' to measure the popularity of a website. We don't really even have a concept of such a metric on the web (that normal people would understand), that should tell us something.

That said, the only hard-to-game metric that worked reliably at huge scale is pagerank. But it's costly to calc, and thus only a few would run it, and results depend on the inputs which will differ, and so competing ranks would always differ, even if they were based on the same algo. And then it's just a meaningless number to most people, only usable for algos.

Also there's a difference btw knowing how many people follow you (you know whether you cheated or not), and how many people follow others (when you want to compare yourself just for fun), and a reliable metric usable for algos.

In short: follower count of yours is a fine metric most of the time (to estimate how many people might hear you), follower count of others to compare to yours can be manipulated but that's unlikely and harmless, follower count for algos is a very very bad idea - pagerank for global, wot for personalized.


Websocket proxy talks to the relay running in a worker using comlink lib which is part of the framework we used, but that's just a wrapper for postMessage


Dumb relay https://github.com/nostrband/nostr-universe/blob/main/app/src/modules/relay.ts


Websocket proxy to local relay https://github.com/nostrband/nostr-universe/blob/main/app/src/modules/relay-proxy.ts


Actually, an app could open an invisible iframe and talk to it using postMessage, then no need for an open tab, the relay would live in the iframe's service worker. Could be pretty cool!


Actually there is a "browser relay", Snort has it, Spring browser too. Not sure about Snort, with Spring it's a fake Websocket interface installed to global that will redirect all requests to a custom "local-relay" url to a relay running in a service worker. There's a dumb relay in sw now, which I didn't bother to make efficient yet, but it can be improved. The main limitation is browser js performance and storage size limits, I guess.

But this is only for your own app. If you wanted to share this relay, that's possible too using postMessage for cross-origin communication (with the same fake websocket installed in the app to trick the libs it's using (ndk/nostr-tools) to use the local relay). Haven't tried it though, there a limitation will probably be that the relay tab must be kept open.


There's another thingy at https://github.com/nostrband/nostr-login


# Dope

A unique tag-based [Ghost](https://github.com/TryGhost/Ghost) theme to arrange your publications into collections. Keep organized and let your readers explore your publications with beautifully designed tag columns.

**Demo: https://dope.ghost.io**

# Instructions

1. [Download this theme](https://github.com/TryGhost/Dope/archive/main.zip)
2. Log into Ghost, and go to the `Design` settings area to upload the zip file

# Development

Styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:

```bash
# Install
yarn

# Run build & watch for changes
yarn dev
```

Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.

The `zip` Gulp task packages the theme files into `dist/dope.zip`, which you can then upload to your site.

```bash
yarn zip
```

# Contribution

This repo is synced automatically with [TryGhost/Themes](https://github.com/TryGhost/Themes) monorepo. If you're looking to contribute or raise an issue, head over to the main repository [TryGhost/Themes](https://github.com/TryGhost/Themes) where our official themes are developed.

# Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).


# Casper

The default theme for [Ghost](http://github.com/tryghost/ghost/). This is the latest development version of Casper! If you're just looking to download the latest release, head over to the [releases](https://github.com/TryGhost/Casper/releases) page.

![screenshot-desktop](https://user-images.githubusercontent.com/1418797/183329195-8e8f2ee5-a473-4694-a813-a2575491209e.png)

# First time using a Ghost theme?

Ghost uses a simple templating language called [Handlebars](http://handlebarsjs.com/) for its themes.

This theme has lots of code comments to help explain what's going on just by reading the code. Once you feel comfortable with how everything works, we also have full [theme API documentation](https://ghost.org/docs/themes/) which explains every possible Handlebars helper and template.

**The main files are:**

- `default.hbs` - The parent template file, which includes your global header/footer
- `index.hbs` - The main template to generate a list of posts, usually the home page
- `post.hbs` - The template used to render individual posts
- `page.hbs` - Used for individual pages
- `tag.hbs` - Used for tag archives, eg. "all posts tagged with `news`"
- `author.hbs` - Used for author archives, eg. "all posts written by Jamie"

One neat trick is that you can also create custom one-off templates by adding the slug of a page to a template file. For example:

- `page-about.hbs` - Custom template for an `/about/` page
- `tag-news.hbs` - Custom template for `/tag/news/` archive
- `author-ali.hbs` - Custom template for `/author/ali/` archive

# Development

Casper styles are compiled using Gulp/PostCSS to polyfill future CSS spec. You'll need [Node](https://nodejs.org/), [Yarn](https://yarnpkg.com/) and [Gulp](https://gulpjs.com) installed globally. After that, from the theme's root directory:

```bash
# install dependencies
yarn install

# run development server
yarn dev
```

Now you can edit `/assets/css/` files, which will be compiled to `/assets/built/` automatically.

The `zip` Gulp task packages the theme files into `dist/<theme-name>.zip`, which you can then upload to your site.

```bash
# create .zip file
yarn zip
```

# PostCSS Features Used

- Autoprefixer - Don't worry about writing browser prefixes of any kind, it's all done automatically with support for the latest 2 major versions of every browser.
- [Color Mod](https://github.com/jonathantneal/postcss-color-mod-function)

# SVG Icons

Casper uses inline SVG icons, included via Handlebars partials. You can find all icons inside `/partials/icons`. To use an icon just include the name of the relevant file, eg. To include the SVG icon in `/partials/icons/rss.hbs` - use `{{> "icons/rss"}}`.

You can add your own SVG icons in the same manner.

# Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).


Thanks!


Thanks! Btw why not nip98 for auth? To avoid sha-ing big files?


Thanks, any deployed ones?


Also any other blossom server aside from satellite and slidestr?


I was trying to use the sdk on nodejs yesterday, first I had to add some fake  FileReader with readAsArrayBuffer, then it started failing on stream().pipe, so I had to make my custom uploadFile. I have no idea how to deal with these cross platform issues properly, if you do, would be awesome to have it working on nodejs well. Thanks!


Stay tuned


nostr:npub1klr0dy2ul2dx9llk58czvpx73rprcmrvd5dc7ck8esg8f8es06qs427gxc how can I get whitelisted on your blossom server?


nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj two questions on Satellite CDN:
- I paid for 1 Gb, still getting Payment required when trying to upload using blossom api, anything I'm doing wrong?
- maybe you could put nostr-login to the payment form, it would allow me to use Nostr Connect while paying?
Thanks


Most probably so. Not that huge to make me go figure it out, honestly


It's the reverse, X Connect will repost from Nostr to Twitter.


nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn can you please tell me more about your custom feeds? Some DSL/NIP that I could read about?


Indeed these are 403ing for me. So I guess these aren't included in our stats.


Ok so the 'nitter' thing that I was relying on for scraping Twitter is so dead that even my own instance of it no longer works. I guess it will stay this way for a while/ever. Considering that almost nobody even tried xtonostr I won't be trying to fix it anytime soon. Sorry.


Indeed these numbers don't match, will take a look


I don't see an inconsistency. No such plans atm.


I will take a look at it tomorrow


Come join to learn more about Boardwalk Cash and some other incredible products in an hour!

nostr:note1w9jeajdcczr9utgcrnttj4mv6zer0h59n5h59zs80hzfcpx0lhqqruqj8n


Oh it's broken :(, the rss feed was based on settings some search query and then using it for the feed, but this wasn't implemented on the new nostr.band app. Honestly I'd be happy if people used something else, will remove it from the menu, don't have time to support it because barely anyone ever used it.


I need to serve raw data from our relay. Content isn't needed for stats atm, but it's stored.


We collect all events from all relays for search (only standard kinds), so yes we store everything ever published, that's at an order of 1Tb of unique events atm. Stats only show the last 2/6 months, but they have to process everything to be correct. Stats are real time, it's a process that keeps all numbers in RAM and handles incoming events as they come.


Done


Can you give a couple examples?


Our methodology of collection is to collect everything from everywhere (not all kinds though, only the standardized ones). I would love to see another version of stats collected and released by someone to compare with our data. Preparing and maintaining stats is boring and costly and mostly thankless, only used by media to laugh at us, and will probably stay an after-thought for a long while.


I could export a 500gb compressed events if somebody wanted to play with it. Or you could just connect to our relay and subscribe to "everything", you wouldn't have to deal with collection process.


Aside from a dozen very annoying bots that I blocked, nothing manual there, I don't have time for that.


Not at this point, it's all very tied up with other parts of the backend, search etc, and I never intended to open source all that.


Build the next one ofc


I could just... Not show the latest point. Would that help?


What's Japanese gfw relay?


Yeah that's a shame, sorry about this. I didn't pay much attention to those stats myself and focused on other stuff, that's why it went unnoticed for this long.


It took you just 3 months, don't be so self critical


That looks like a wave of spam to me


No day on nostr without a nice slip


What is a unique profile template? A theme/skin?


Yeah let's pretend it was a test for bullshitness


Introducing Boardwalk Cash - the first dollar-based Cashu wallet built on top of #bitcoin and connected to #nostr.

https://BoardwalkCash.com

We now have stablecash on bitcoin - completely interoperable with the lightning network.

Share your lightning address or invoice to receive dollars. Paste a lightning address or invoice to send dollars.

Boardwalk Cash connects to any nostr client via NWC. Zap dollars on nostr apps like  nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg or on Discord with our Zap Bot.

This is a very early product and there are not many public mints, so use at your own risk. Yet, we’re excited to show some of what ecash and nostr can offer for advancing #bitcoin payments.

https://m.primal.net/IGht.png


Great to see you are playing attention! No changes to the algo, but updated trust ranks and retention numbers weren't arriving to the stats server since the the end of February. I messed things up the last time I fixed server issues. Fixed it yesterday, and for the first time since forever I am exited about the stats! 🥳


Nostr-login has built in account switching. But it won't work well if you want to store keys in extension, there's no standard for extension to notify apps about switched keys. Much easier to do with nostr connect.


I think the major issue with all top of funnel comms, except maybe email, is that all margins of creators are squeezed away by the platform over time. Maybe that's a more direct reason shilling efforts are constantly rising, attempting to compensate for reducing roi on all channels. Nostr indeed could fix this.


What you are saying is Nostr somehow ends up as the bottom of the funnel... But that can't be the case, there's always a sale or upsale to shill. Otoh if many influencers just get zapped directly on nostr without needing to sell anything else then maybe at least shilling becomes more like good content. If v4v worked (which I doubt), then we would have less shilling.


Ok I will think about it.


If I let you log in and exclude stuff you muted, would that work for you?


Absolutely. But we are talking global stuff here, not personalized. And for newcomers you have nothing to personalize on, they don't follow anyone yet. We may all agree personalized is better than global (and yet most apps still haven't adopted it?), but if you want or need global, then please show me algo that's much better, I will happily zap it and use it.

Personalised is easy, most people don't follow junk, so input is high quality. Try any simple algo on global and you'll get garbage. Or maybe not, then you get zapped and everyone wins.


These are different things, one is personalised, the other is not. Same algo I use for global would work well if I only fed it posts by people you follow. Annoyed that accounts with big reach have nothing better to say than GM, don't look at that tab. Algo is not the problem.


As I said I will zap 500k for a better trending or onboarding algo. Ideas are good, but easy.


You assume people are constantly watching their feeds. I don't. I get a lot of value from the trending.


Ok, construct an "onboarding" list for yesterday that you believe would work well for newcomers, that's a very needed thing that nobody solved yet.


Maybe that's because people here care about what these people say.

I may be wrong, would you consider championing a fix for potentially broken nostr trending algos?

We have history of trending on nostr.band, all data is available on our relay and API, construct a better trending list than what we had for yesterday, and I bet people will zap you like crazy. I will give 500k for algo that's consistently better.


It's already more sophisticated than that.


Strange coincidence that we independently created algos returning same stuff.


Could the algo be improved? Or any other way to improve the state of things?


It was a bad guess


Are you talking about some specific algo? How do you know what counts?


You establish a connection once, and then app talks to signer over relays, no more qr


10$ Nostr hardware signer!

nostr:nevent1qqs8gkkvw4w05mqpvp02867fc63ej53pet3ll7tl052mznm0ru9rscgpz3mhxue69uhkummnw3ezummcw3ezuer9wcpzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qvzqqqqqqyzym0hx


Very sad


Do you plan to re-build the professional circle using something like substack?


You won't have to beg, man!


Running lightning powered by nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm ‘s new self-sovereign wallet on a Raspberry Pi Zero. Case by nostr:npub1e5tfhk8m65teu25dfx8lcvwn4c8ypqjl72u2sh4rt8zy2kss0j5qct7mh9

Connected to nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955 for 1-tap zaps ⚡ https://image.nostr.build/91773aed1106be2e0a8259a1b197b119364fd1090f89e10346f3f906f62b8f78.jpg


I lean towards "Join Nostr" lately. And then some explainer that on Nostr it's all secured by cryptographic keys - "profile" misses that point even more than "account". I feel it should be "Nostr _network_" (not abc.com) -> "Keys/nsec/npub" -> "Profile, notes, etc". If we don't talk about keys then we might as well just keep using "account".

And I think "what's your npub?" seems like the best option - it's short, it's purpose is same as "handle", it's new and different (people should learn about public keys), and it's shorter than "nostr id/address". OTOH even if we all start using "what's your npub?", I would bet people will be using "npub" to mean nip05 eventually, because nip05 serves the same purpose and is human readable.


Oh that looks cool!


Turns out the relay was working fine (it supports long posts and many other kinds for a long time), it's just the nostr.band UI was broken. Fixed it.


Search across long posts, live chats, torrents, communities and other stuff on Nostr.Band!

The default search query now runs across multiple event kinds on https://nostr.band. You can specify your preferred kind by adding "kind:N" to your query, or use our advanced search to select some of supported kinds.

The site also works a bit faster now, some bugs were fixed.

Nostr.Band app didn't get enough of our development attention recently, if you think there are other important missing or broken parts of it - let me know.


Yes embeds are here https://embed.nostr.band

What are the 'better search experiences' in your mind?


Thanks for bringing this up, long-form search should work, but it doesn't, I will look into that.


You are welcome. Rust based is the relay software https://github.com/rnostr/rnostr


Now try it with zapper.fun


Tagging people isn't really search in most apps, maybe nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z could comment.

Search for old conversations is hard, unless you remember some very specific words being used - your searching is anonymous, we don't personalize it in any way to prioritise content closer to you. A filter by author could help, but the app would need new UI for that.


Which apps do you use for search?


Damus doesn't have search integrated, which makes a third of Nostr users think it's completely broken. Amethyst has our relay for search by default, last time I checked it worked pretty well. Primal has their own search. There is search by nostr.wine relay and also relay.noswhere.com. I recently saw a rust-based relay with full-text search.

Search infrastructure is available to any app, not all of them care enough - lack of real demand, most likely.


I forgot her story, but I'm sure there were memes


Should be fixed now


Thanks for the report, that makes sense!


nostr:npub1xnf02f60r9v0e5kty33a404dm79zr7z2eepyrk5gsq3m7pwvsz2sazlpr5 NWC please!


And you can zap on mobile now using NWC
nostr:nevent1qvzqqqqqqypzqx78pgq53vlnzmdr8l3u38eru0n3438lnxqz0mr39wg9e5j0dfq3qy88wumn8ghj7mn0wvhxcmmv9uq3jamnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kz7qpqvsqpet730j73c78m8j3wyntq7z6664jz4y9hwpz95wnn84g58r9qwjnm4j


This is the right one from now on


Btw nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr putting ! after url results in a broken url rendered in nostrudel


Didn't know I was replying to you nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm :) Thank you guys!


Hah I didn't know it was Alby asking for NWC, my client didn't load the author :)
Thanks nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm for https://bitcoin-connect.com!


Added! Please try again, multiple wallet connect options are now available thanks to bitcoin-connect widget by Alby team.


And looks awesome too
nostr:nevent1qqsxgqqu4lghe0gu0raneghzf4s0pddd2ep2jzmhq3z68fen652r3jsprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqgsph3c2q9yt8uckmgelu0yf7glruudvfluesqn7cuftjpwdynm2gygrqsqqqqqpythpp7


Congrats man to you and your family!


We have talked about using new keys per client, per website etc.

Now my wife had a brilliant idea of creating new keys per hashtag.  I.e. me talking about nostr dev is one npub, but me talking about bitcoin is another. That would make nostr look much more like a collection of internet forums. I have not thought it through too deeply, but feel there's something there...


Just checked on ios all seems fine. You can't zap there without an alby extension though, we need to add NWC.


Zapper app got a new outfit and a new domain Zapper.Fun, check it out: https://zapper.fun

The new design was kindly provided by the awesome nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac, who's working real hard to make Nostr apps look amazing!

With Zapper you can zap "prisms" to send sats to many people at once. A prism can be any nostr event that lists several zap receivers. We have several example prisms linked on the homepage so you can support various Nostr contributors. You'll need an Alby extension in your browser to make it smooth, Nostr Wallet Connect will come a bit later.

If you want to create your own prisms, check out the https://app.makeprisms.com/ - there's a "Create" page where you can make a prism from a profile list (explore Nostr lists at https://listr.lol), or a prism for people reacting to a note (likers, reposters, commenters).

One source of cool prisms is the list of nostr github repos at https://nostrapp.link/repos - use search bar at the top to find your favorite github repo. You can open it and check if there are contributors with a linked nostr npubs, and the zap button will lead you to Zapper and you can support all those contributors with a couple clicks.

Check out contributors to:
- Damus: https://nostrapp.link/r/naddr1qqvkw6t5dp6kytnrdakj7erpd46hxttfduhkgctdw4esyg9r89n595twyzwmaak70pgzfqvw076m0a5dnfkraeljrfmjtgfl25psgqqqwkjs0mm4el/contributors
- Amethyst: https://nostrapp.link/r/naddr1qqskw6t5dp6kytnrdakj7anfw3hhyurpd4cxcmmwvyhkzmt9w358jum5qgs2xwt8gtgkugyahmmdu7zsyjqcula4klmgmxnv8mnlyxnhyksn74grqsqqqad9fj6t8x/contributors
- Zap.stream: https://nostrapp.link/r/naddr1qqvkw6t5dp6kytnrdakj7a3sdshh5cts9eehgun9v9ksyg9r89n595twyzwmaak70pgzfqvw076m0a5dnfkraeljrfmjtgfl25psgqqqwkjszp4r6l/contributors
- Coracle: https://nostrapp.link/r/naddr1qqskw6t5dp6kytnrdakj7cm0wfskxmr994ek7cmfv9kz7cm0wfskxmr9qgs2xwt8gtgkugyahmmdu7zsyjqcula4klmgmxnv8mnlyxnhyksn74grqsqqqad9x3cy0s/contributors
- Snort: https://nostrapp.link/r/naddr1qq2xw6t5dp6kytnrdakj7a3sdshhxmn0wf6qyg9r89n595twyzwmaak70pgzfqvw076m0a5dnfkraeljrfmjtgfl25psgqqqwkjsas3fwf/contributors
- Gossip: https://nostrapp.link/r/naddr1qqwxw6t5dp6kytnrdakj7mtfddjkg6tvvajhytm8daehx6tsqgs2xwt8gtgkugyahmmdu7zsyjqcula4klmgmxnv8mnlyxnhyksn74grqsqqqad9y0v3tm/contributors

Zapper can also zap any event, if your favorite niche nostr app doesn't have a "Zap" button yet, you can still zap the events from that app with zapper. And if you're an app dev, you can add that "zap" button and redirect users to zapper if implementing your own zaps isn't a priority at the moment.

And by the way, this note itself is a prism that will forward 90% of your zaps to nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac !

All right, time to send some bulk zaps!


Right! Loving it! Keep up the great work please!


That's a question to nostr:npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 or nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49


Sounds awesome! Let me know if you have any feedback or issues!


For identity migration - yeah that's basically nip41 proposed by Pablo


Awesome! Thank you!


To inherit the social trust publicly with new npub you have to link it to the old one, publicly. So it's not really new identity for anyone.

What you seem to have in mind is the idea that you should be able to selectively reveal your social rating when that's needed.

One solution could be that by default you log in to a new app with randomly generated new keys (that are tied to main keys) and then if you have to "prove" you're trustworthy to some peer in that app then maybe your main keys sign an encrypted gift wrap that says "this child key is actually my main identity's subkey".

You could have separate key for every app/website, new keys for every session, every week, etc, that could be the default way to surf the web. And then you reveal yourself when that's absolutely necessary.

I think with nostr the power is in the ability to generate as many identities as you need without permission and make claims about relationships btw them. You may have one identity, one with many subkeys, many identities for different tasks, etc. And then we'll collectively figure out what's the best way to use this to enable interop but with proper level of privacy suiting each user.


Brave is problematic with nsec.app. Firefox should work, did the popup with nsec.app show up to you? Could you confirm the connection? If not then firefox blocked the popup 😟


NIP 90 Search request


Profile Search request


Brave has push API turned off by default, you'd have to adjust some settings to make nsec.app work properly


Which browser/OS? At what stage did you have issues?


This (slow opt in) is what we're working on now with nostr-login widget, signup starts with a local key and then when user has actually used the keys and signed something etc we'll be nudging them towards "key backup" - importing into a nip46 service etc.

You're suggesting a new kind of service where user enters a password and app sends ncrypt to a server so that if local copy of nsec is lost (or they want to use another app) then ncrypt is downloaded, password is entered and nsec is again stored locally. Right? This kind of "ncrypt store" is actually part of nsec.app setup (we store ncrypt on server so you could "login" into nsec.app in another browser/device), but you're proposing to make it a separate thing. Sounds interesting. The problem of apps having raw access to nsec still holds, but at least you're not copying it around, and password can live inside the password manager. Still a step forward over "nsec login", I would say.


Doesn't look too ugly to me


Does it work as good on desktop layout? Tablet?


This is amazing. Now imagine an app that allows you to add plugins, which add their own buttons to that popup. It's consistent but very extensible!


What's rnostr?


Is it your custom proxy in front of strfry?


Doesn't return an invoice


Now you can share your Public Spreadsheets!

https://sheetstr.amethyst.social/?author=460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c&id=Amethyst%20Feature%20Request%20Counts


It works! Love it!


Better Media picker, multiple photo selection

Sort by most Liked/most Zapped on timelines, user profiles, and replies

Temporarily disable relays without deleting it

Performance improvements for cheap/old phones

More options to choose translation-to langauge

Persisten Background Service for Notifications (always connected)

Enhance replyTo note preview when replying

Backup all notes from a given npub locally.

Add support for Natural Language filters


Amber has nip46 released?


New release
Alpha 0.4 just pushed!
You break you bought it.

http://nostrmeet.me


As discussed, nip46 can't work in practice with untrusted relay, just treat it as part of the signer service.


Pura vida!

https://video.nostr.build/0f3f56d1fe763994e512c5335604a68ebea109d0c480a39e6b5694501087da61.mp4


Take a look at nostr:npub1arcweuxy0zkdcg08sljh058qp02ytrgnpzh4csa3ar42szyfgrpsw6ggtw


Yes please! What data can service receive about my nostr profile through oauth2 ? Username, avatar?


I'm skeptical about most of the Pros listed:

> Multiple keypairs/identities are not needed
- that's just implementation detail, like generating tokens in oauth etc

> Access tokens are only useful for authorization and are generally short-lived, they don't leak any permanent information.
- not sure which parts of nip46 leak anything, can you provide details?

> Signer events are now "private" between clients and signers, and can't leak user activity such as note decryption when opening a new client.
- this one is valid concern

> No relay, no relay to trust
- most nip46 providers will host their own relay for many reasons, and even if they use a third-party relay - they will only recommend one they trust, so if you trust a provider, you probably trust the relay

> Http attack surface is well understood
- need more details and maybe examples here

> CORS could possibly be used as a security advantage for web clients
- need details and ideas of where and how

> Reduces signing server dev complexity
- you won't implement oauth yourself, you'll use a library, but then you can just use a library to implement nip46

> Full OAuth2 and identity management infrastructure already exists
- which of them could I start using tomorrow to use with Coracle or Snort on mobile? This might be true for corporate world, not much for individuals

> Since clients connect directly, network/http requests can be audited easily
- audited for what? all requests are signed, the only thing lacking with nip46 is peer's IP address, which is only useful for privacy violations of good users, since bad people hide their IP anyway

> Reduces client complexity and deprecated encryption spec
- you will use a library in both cases, so complexity is comparable. nip04 is bad, agreed.


Also https://nostviewstr.vercel.app/ (just saw it, seems like a tool to edit lists).


Zapping prisms: https://zapper.nostrapps.org/zap?id=note159zrf7wlrvumcplmuhdnmda5qpkupapqa8h2n2lznjdchk9lrdmsc2zkth

Zapping any event in general.


Are you sure you want to auto-login into any web page you visit? It should probably require at least one click from you.


Try https://zapper.nostrapps.org
It's getting a design upgrade too


We've fixed some issues with nsec.app+noogle.lol, could you please try again?


That is indeed something that will eventually bite us. Do you have any ideas about how that could be fixed with nip46, without switching to a new protocol? Maybe nip46 relay could require nip42 auth and only serve you the events that match your identity?


nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 what's in your lud16 field in profile? Is it supposed to work?


NIP 90 Profile Discovery request


Those events are ephemeral and encrypted, so they don't generally sit anywhere for too long, and not particularly useful for anyone except the app and the signer. What's your concern here?


Nip46 is far from perfect indeed.

To your points:
1. Nip46 server can be built into a relay, so you would be "just contacting signing server directly" to save one roundtrip. Not sure there is any practical difference btw HTTP and WS, aside from less experience with WS for most devs. The most important stuff you lose without a relay is:
- you can't run your nip46 server behind NAT without a relay in the middle, so even if you had some server you owned (Umbrel etc) it would require a complex port forwarding etc setup to host keys on it, and you'd expose your server to the wide internet and then hope it's not getting hacked, etc.
- you can't build a client-side solution like nsec.app where you don't need to own a server to self-host your nip46 signer
Essentially, adding a relay REMOVES a lot of complexity for practical self-hosted use and adoption. And if you wanted to save on round-trips, there will be nip46 signers built into relays.

2. Nip04 use sucks, we will need to upgrade at some point. Do you think we should start asap?


Really great overview!

nostr:nevent1qvzqqqqqqypzq079lp2n40t48tz8je7yc35vl5yw3juaaecm08sj6kk6kgzmcpxnqy88wumn8ghj7mn0wvhxcmmv9uq3zamnwvaz7tmwdaehgu3wwa5kuef0qqsz6q3g0w47d7jhufa79edesj8lwzrqltz9f0dnj0nqlmw7vn4dtfgyrackj


We've had multisig for nostr more than year ago: https://github.com/nickfarrow/frostr It's just not user-friendly and not built into any signer and nobody really needs it. Maybe we should explore it with nsec.app?

The only reason you don't have robust solutions against nsec theft is because nobody cared enough yet.


There aren't much tools and protocol-level solutions to key loss or theft atm. But that's just because nobody is trying to use them for mission critical stuff, once demand comes, solutions will come. I will keep repeating that nostr keys have lots in common to bitcoin keys, and we do hope to make bitcoin the core of our future economy, so how is nostr different in principle? More here: nostr:nevent1qqs0qkyxmykx2a5f98e88c2ayyz44z53h8ntvqp0fusge4r62m9m7mcql9f4x


Once your nsec is stolen, you can never recover it for your exclusive use, that's correct. Once it's lost, you can never recover it for any use, that's also correct. But same is true for bitcoin keys, and yet we're hoping to build the world around it, and people build tools to mitigate these risks. Nostr key != Bitcoin key, but there are much more similarities than differences. Here is more on this: nostr:nevent1qqs0qkyxmykx2a5f98e88c2ayyz44z53h8ntvqp0fusge4r62m9m7mcql9f4x


NIP 90 Search request


Profile Search request


I like Pablo's suggestion: https://github.com/nostr-protocol/nips/pull/829

Keys are definitely the cornerstone here, but same is true for bitcoin, and we have a massive pile of builders solving keys for bitcoin, and there are more and more robust and user-friendly solutions coming to market.

Here is how bitcoin keys compare to nostr keys in my mind:
- you can 'migrate' from one set of bitcoin keys to the other by transferring all funds. With the suggestion above, you can do something similar on Nostr (although it's not precisely "all value" that's being transferred). It will also take lot of work for apps to support this auto-migration, and there are technical issues with that particular suggestion, but it's a good start IMO.
- you can kind of manage risks with bitcoin keys using several different wallet setups with different amounts stored. But you could do the same on nostr, having several keys with different setups dedicated to different activities. We don't have widely used tools to store many keys and switch btw accounts in signers and in the apps, nsec.app and nostr-login help here.
- you have limited damage if bitcoin keys are stolen, but on nostr it feels unlimited - thieves can broadcast with your own keys forever, they can also post fake events in the past under your old name. We will probably have to opentimestamp important stuff we publish to add safeguards against back-dated fakes. Also if the above nip is implemented well, the damage here might be reduced significantly.

This is just what comes to mind on the spot, let's discuss this further.


Thanks! Let me know if you have any feedback, please!


I mean nostr-login has them fixed, while most other apps implementing nip46 still suffer.


At least a couple of issues should be fixed if you switch to nostr-login, particularly with popups being blocked in Safari.


Thanks!


Meet the latest Nostr-Login widget release!

Nostr-Login has become a very powerful window.nostr provider (as of v1.3.0).

Just drop the nostr-login script into your web app, and your users will be able to login with extension, with Nostr Connect, in read-only mode, sign up with OAuth-style flow, switch accounts, etc. Your app just calls window.nostr, the rest is handled by nostr-login.

Here is a short demo where I login with Nostr Connect, and then add a read-only account, and then switch between them. You can try it in action on https://nostr.band

https://v.nostr.build/POD38.mp4

App devs, if the only option you're giving your users is "Login with extension" (or even "Paste your nsec") then maybe it's time for an upgrade. The more options for people to log in, the more your app is used!

Learn more on how to set up nostr-login at https://github.com/nostrband/nostr-login

For other "login with Nostr" options, check out https://nostrlogin.org


Good example, thanks.


Search wasn't working?


The number of trusted accounts didn't spike. These are bots most likely


Example?


Switching btw different real keys is hard (impossible with browser extensions, possible with Nostr Connect or local nsecs), but switching to Anon is trivial, apps can just have a switch "Reply as anon" and sign this particular event with burner keys. zapthreads comment widget deployed on habla.news has that


NIP05 is just a simpler way to login, nip46 provider may issue you a nip05 under their domain and when you enter it for login all the data needed for connection is automatically fetched from a known location on the provider domain. So you don't need to generate a bunker URL on provider first, just enter your nip05 name.

The biggest concern for major native apps (and web DM apps) is DM decryption - apps store the full history of DMs in encrypted form on disk, and decrypt them all on startup, which might mean thousands of request to keys every time the app starts. There are many ways to solve this (decrypt on demand when user opens DMs, store DMs in plaintext, store them encrypted with local key, etc) but they all quite complex or require compromises, all while Nostr Connect is just not a priority. Especially when there are platform-specific faster solutions like Amber which Amethyst supports.


Do you have a screenshot or video of what's happening? There's nothing special about alby there...


A good explanation, although the accusation that I was suggesting dystopian solution is false. I outlined why people want blocking. I didn't suggest we implement it, in fact that's so hard to do on Nostr it will probably never happen.


Repeating "Deal with it" doesn't solve anything.


I didn't say we should stop people from doing something. I outlined why particular kinds of replies cause discomfort strong enough for people to be vocal and to even leave nostr, and how these interactions are different online vs offline. We can argue about semantics of ON or ABOUT all day, the discomfort doesn't go away from that.

Mute is a simple first tool we've built (another one is reports), and even that one isn't utilized to it's full potential by any app. Declaring it the only option (especially as implemented now) is assuming nothing can be improved. The problem won't go away by itself. People will seek solutions. Some of implemented solutions might cause you discomfort, just like their absence causes discomfort for someone else now. Deal with it.


I've just deployed a new nostr-login on nostr.band (reload hard please) that has account switching. I've got my real key connected, and also jack in read-only mode. Switching is a couple of clicks. Nostr.band doesn't personalize the experience much, but the concept is working. Switching is log out and in though from app's pov, so it might be heavy depending on the app.


Hmm, you mean I read as if I'm OtherNpub (feed, notifs, etc), but post with my real npub?


I outlined the insufficiency of mute, and also public keys are infinite so mute is kind of not a panacea too.


Love this! Let me know if you have questions about bunkers (nostr connect, nip46), or maybe check out nostrconnect.org for an intro on client implementation.


Ok this sounds like a possible addition for nostr-login library. We could add anon mode (ghost mode?), or even sign-single-event-then-burn-nsec-mode and with account switching and other stuff we already have it should be quite user friendly.

We could also auto-publish a profile event with some POW, or maybe use some ecash magic if someone smart chimes in, to get our anon event above noise thresholds.


What is ghost mode?


I didn't say blocking solves anything or is even possible on Nostr. I was stating the problem that people try to solve with blocks.

But please tell me how I should "not allow any spammer to do that"?


You push content to me if you reply to me. I don't follow you, but now I see your reply.


It should, there is nothing special about them in my code. The influx is almost definitely bots.


Could you please publish your own listing, nostr:npub15u3cqhx6vuj3rywg0ph5mfv009lxja6cyvqn2jagaydukq6zmjwqex05rq ? I will delete mine then.


I'd say showing mute-based labels but also reports by people in the thread could both make sense.


Block may mean many things.

If block is "blocked people can't see your content" then sure it's just not possible on a public internet.

If block is "blocked people can't comment on your content" (which was mentioned in your quote) then it's not that simple. Website do have various forms of blocking (for comments, posting etc). Of course that doesn't "block" someone from commenting elsewhere and linking to your post, but that's a different thing.

It's almost like people feel "ownership" of their posts, and when someone replies, they almost feel like people have posted "on their space". So even muting doesn't feel like enough, they want no one to see bad stuff "on their space" (in replies). They feel as if they were talking in a some cosy space and then someone intruded with their bad stuff. You'd be upset IRL if someone interrupted your conversation with some BS, even if your conversation was happening "on a town square". IRL you could tell the intruder to get off or you could go away and stop the conversation, but it's not possible online - they can keep yelling at you forever and can invite friends, etc.

Maybe muting feels like not enough because if everyone can see how you're not responding (if you muted them) then everyone might think "if he has nothing to say then maybe their BS has merit". If you muted and not responding then for others it feels like you just have nothing to say, and that's not true. Maybe if there was a marker visible like "this person is muted by the person he's replying to so take that into account" it would help everyone understand the situation better and the urge for "blocking" would be lower.

Anyway, it's definitely a mismatch btw what's possible online and offline. You wouldn't let some idiot follow you in all public spaces IRL and yell at you, you'd punch them or call police. Or you would at least try to let everyone around know that you're actively ignoring the idiot. But what can you do online?


I don't think it's just about young authoritarians.

On the web, the major way to get new content is to search for it or click through to it, which means you are unlikely to see unwanted stuff.

With social media, centralized or not, anyone can push content upon you. That's the point of social media. But the result is unwanted content on your screen.


Please take a look at adding https://github.com/nostrband/nostr-login for more login options besides the extension


Congrats! Can't zap you:(


Congrats!


Can't zap you, nostr:npub1ky4kxtyg0uxgw8g5p5mmedh8c8s6sqny6zmaaqj44gv4rk0plaus3m4fd2 :(


We have new stuff. Not much tested yet, so feedback is welcome:

1) Iris Docs — https://docs.iris.to

Proof-of-concept collaborative text editor and simple canvas on Nostr. Recently also added a chat, so might rename to Iris Apps?

https://void.cat/d/Po8kXtpo116x3enNczizPP.webp

2) IrisDB — https://github.com/irislib/irisdb

Extensively used by Iris Docs. Tree-like data structure on Nostr.

Build wikis, marketplace apps, games and other decentralized applications where users can choose whose edits they want to see (e.g. followed users, extended social network or specific group).

Enables science fiction stuff like deleting & unliking posts, or editing a user profile or list of users without risking overwriting the whole thing with an out-of-sync version.

Use a filesystem-like interface to create all kinds of applications on Nostr without having to define obscure event kinds for each purpose.

Has simple & powerful useLocalState and usePublicState hooks for React applications.

3) npm create iris@latest — https://github.com/irislib/iris-docs

A template that quickly gets you started with Nostr & IrisDB web application development. with dev tools and basic components like login, settings or avatar. Built on Iris Docs — remove the parts you don't need. Decentralize everything!

https://void.cat/d/DeLzMtoFj2TgHXQVvvGsPV.webp


That's why I can't reproduce this issue, sometimes it does work and sometimes not :(


Awesome, so you have everything working on iOS, that's a win! Thank you!


I'm all about howto guides these days, please check out https://nostrconnect.org/ and let me know what's missing.


Thanks a lot for the input. I wasn't able to reproduce the issue with Coracle on iOS, but I know it's there, thanks for the reminder. Shipyard needs an update to support the up-to-date nip46, for now it seems to only support nsecbunker.com (their custom connection strings). Flare doesn't seem to take nip46 bunker relays signalled by a provider into account and tries to communicate over random public relays (cc nostr:npub1zach44xjpc4yyhx6pgse2cj2pf98838kja03dv2e8ly8lfr094vqvm5dy5)

I don't have up to date iPhone to test properly, but it sounds like you have enabled the push API. The way to check it is - try using highlighter with all nsec.app tabs closed. if you're able to like/reply/etc then it's working fine (nsec.app PWA receiving push messages to wake up and sign events). If it's not working without an nsec.app tab open, then we need to look for some Push API button somewhere.

Please let me know if you actually do more tests. Thank you!


Unfortunately, native apps are not excited to support nip46 protocol for key access, mainly for performance concerns.


Thank you for the hint on mobile extension behavior. Will move the Sign in with extension button to advanced section in case where extension isn't yet 'authorized'.

> Nip 46 is supposed to fix issues with mobile app login … but nsec bunker holds private keys in custody … so “Nostr login” was created as a “local storage” implementation.

Nostr login is not a "local storage" implementation. This sentence makes no sense to me. And even if you meant nsec.app instead of nostr login, it follows nip46 spec and doesn't invent anything proprietary wrt nip05 addresses etc.

> Nostr login requires what “looks like” a Nip05 address, but IS NOT.

It is nip05 address, you can have many of them, your nsecbunker/nsec.app issues one for you, as per nip46 spec.

> There’s not even a name to call this email looking address you’re “supposed” to enter … but it’s only available at one of two domains.

We call it username. And it's available on all modern nip46 services, except for locally-hosted ones like Gossip app.

> ALSO not explained is the fact that it’s “non custodial” (users have no idea) AND once you create one you have to remember it IN ADDITION to the Nip05 address AND Zap address that are ALL essential parts of Nostr.

You're probably speaking about nsec.app's 'non custodial' nature? It's not directly related to nostr-login library, but yes - I don't like it that you have to remember yet another username/nip05 address to login. I have some ideas here, thank you for reminding me.

> This is a MESS.

It is, this whole Nostr thing is a giant mess. It's our job to both create it and to manage it. Thank you for participating.


nostr:npub1p93204359p3f2httnwktq69a0662p25gcpfv0ec9pfykc82u4y2sufcpwu Hi, please take a look at PRs in your 'clients' repo.


Also we might pitch from the bitcoin niche pov. "Reach 10000 bitcoiners". Could work for plebwork case.


On the technical side, Nostr auth could work side by side (stacker.news - link to your Nostr account), or it can replace it (don't have an example aside from nostr apps). If nostr is your main identity system it may or may not affect your traditional model - you could just auth all HTTP API calls to traditional backend, or you could do a full-blown nostr app that uses nostr events and relays and no backend. I tried to briefly cover all this on nostrlogin.org but maybe it wasn't all that clear.


So overall, I don't have a great answer from real world practice, as the only products I know that integrated with Nostr that didn't have 'nostr functionality' are bolt.fun (defunct), geyser.fund and stacker.news (both have nostr functionality now). Also maybe wavlake and fountain? Any other I'm missing? Also Mutiny!

However, where I would consider nostr (if it's not a full-blown nostr app) is:
- if I need social graph for my app to function (access 100 connections per user - Mutiny case)
- if I need data for personalization and AI training (train on 1000 liked posts per user) (also personalized stream of zaps in Mutiny)
- if I need virality by social sharing (reach 10000 nostriches)

Does this sound like something saleable?


Also wrt 'headphones' example. Instead of looking through my wot circle for reviews, I could post 'please help me choose headphones' message that could propagate through my wot circle until some experts see it. They could reply with 'here is a one liner big advice, and here are a couple links for you to read, and if you want to hop on a call - schedule here and it will be 5000 sats'. This might turn out as a better solution to 'help me buy headphones' problem than trying to fix fake reviews or increase the review density in my wot.


Can you please tell me mo about vectorized trust? Maybe a link to read?


It's a very good point. Those billions of reviews globally, if you exclude fakes and then divide by the numbers of products out there you get maybe 100 reviews per popular product (median number of reviews for all products is definitely zero). How many of those 100 reviews would be in my wot circle? If the 100 people I follow posted 100 reviews each, I would only be considering maybe 0.01% of all popular products. That doesn't seem good.

The solution could be a wider wot circle, and start from niche, and more reviews. If I knew my reviews wouldn't be lost in some corporate database, I might have posted more of them.

Also it will probably vary based on physical proximity to my contract list members. They would probably review a lot of local products, but not much in Dubai or on Alibaba. So maybe travel is not the best place to start.


Awesome login widget!
nostr:nevent1qqsg8yc3jezszp636657ychwgefxt9nmm4pw620uj2dfryx68a2vcegpp4mhxue69uhkummn9ekx7mqzyqlzjnf06vumk949gqagdcmxf9ra6syvfkr6qpn9ynu22uaw209guqcyqqqqqqg3dklws


Make sexy and selling would be amazing!


Came here to say this!


If you're signed in, the app should definitely do that


That's right, it's like explaining them how to store and backup bitcoin keys. It's always a facepalm.

That's why there are setups like Casa or Bitkey that don't expose keys, and instead build good storage and recovery tooling. It's not for experts, but most people aren't experts.

Nsec.app doesn't expose nsec too (at least if you don't ask atm), we will try to keep it safe and help you recover without making you write it on a piece of paper.


It's the job of a provider (browser extension or nsec storage like nsec.app) to help users recover. It's not black and white, we don't have to leave users on their own with how-do-I-store-this-nsec thing.


Thanks for the input, I agree that expecting an explosion of nostr auth is very premature. But we have to start somewhere, baby steps.


Posted a reply there


Btw how does your preferred web3 auth provider solve the key storage, backup, recovery, etc? Removing passwords and 2fa is easy, but is there something to ultimately replace them with?


Well on Nostr a lot of user data is public. I'm also not sure web3 auth adoption wasn't happening (was it not?) due to the lack of business model for apps. Maybe web3 is too focused on blockchains/shitcoins. We'll see where it goes with nostr.


Stacker.news, nostr.build, wikifreedia.xyz, nostr.band come to mind


Great q, need to expand on that on the page, and post a reply. Will get back to keyboard in a couple hours


Team hackernews, go!

nostr:nevent1qvzqqqqqqypzqwlsccluhy6xxsr6l9a9uhhxf75g85g8a709tprjcn4e42h053vaqy88wumn8ghj7mn0wvhxcmmv9uq3zamnwvaz7tmwdaehgu3wwa5kuef0qqs8drglu0yen4458837le3egjeg6lmwfn2hqulklkve89ejkzw99eqmara3k


Yes, started this morning just for you


Finally wrote something useful on https://nostrlogin.org.

PRs and issues are welcome.


How about this https://nostrlogin.org/ ? PRs and issues are welcome.


What is global pulse? How is it different than 'trending'?


Awesome stuff! Please drop nostr-login or window.nostr.js there so I could attach my nip46 keys. I.e. https://www.unpkg.com/nostr-login@latest/dist/unpkg.js


Ok, demo time: https://sheetstr.amethyst.social/


Well ideally you would only send search queries to it, then you probably wouldn't hit the rate limits, is that possible? It's quite heavily loaded, being one of few relays with full index of events and with search over all of them.


Amazing! Let me know if you ever have any suggestions or issues


There is Amber on android and a similar thing for apple named Keystache, not much support of those though


No, native mobile apps can't use nip07. Web apps (mobile or not) could use nip07 extensions, but could also use remote signing nip46 (nsec.app etc).


Let me know if you try it and have any feedback.


Nostr-login is just a library that you can drop into your app to support many nostr login options - it supports nip07 (extension), nip46 (remote signing/nsecbunker) - using nip05 address and bunker url, read-only login with nip05 or npub. Also account switching is in the works.


You don't have to host it, try nsec.app, it's a bunker in your browser.


Try nsec.app, it's a bunker in your browser.


Mobile nostr apps don't want to be nip46 clients, mainly for performance reasons.


Works fast indeed! So you're making lnurl calls in parallel and then also sending NWC requests in more than 1 thread?


noogle.lol now supports the latest version of nostr-login by nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy .

Here is a small demo of how using the discovery feed looks like when signed in with nostr-login:

https://v.nostr.build/8G94B.mp4


Well I guess mostly that's bcs there are no mobile apps with access to camera that could scan the QR, nsec.app could do that theoretically, but I haven't seen any demand yet


Terminology is confusing, your ask is nip46 server in Damus/Amethyst/Primal, nostrconnect as QR scanned by the mobile app-signer should work, I think.


That's actually a good question, this thing is either more tailored to users, or to builders (it's unlikely to do excellent job for both).


Where users meet builders?


Sorry about fething, fix should be live in a minute.


It's on hold for now.


Any plans for nip46 support?


Are we talking nip46 server in Damus/Amethyst/Primal? Or them being nip46 clients?


Iirc nos has much more tools for filtering. In your opinion, would they have worked for Roya if she used nos?


You could set a budget with alby


Thanks to  nostr:npub1xdtducdnjerex88gkg2qk2atsdlqsyxqaag4h05jmcpyspqt30wscmntxy and  nostr:npub1cd0l3s6qgj0s6690rtkys39mgj5upwxpm4856nhmce0pyqu6xj9qh7xlvx, anyone can now zap ALL the devs at once behind the apps on nostrapps.com.

That list also includes some designers, relay operators and a few key support people. If you feel I'm missing someone, please let me know.

How it works:

I created a list on listr (thanks  nostr:npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc!) and used it to create a prism, then pass the note to zapper.

One tiny tweak I think we could have there if we get lucky, is to have an option to disable tagging everyone on the prism list. Perhaps it can be toggled off in the prism creation flow?

Anyway, zap away!

https://v.nostr.build/Q7ePZ.mp4


That's getting serious


Not too much if it works


Well for that to happen you should persuade him to implement nip46 on zap.stream


Amazing! Let me know what you think, please!


It is nip46 implementation, we can say it's a bunker in your browser.


nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 I will zap you 500k if zap.stream gets nip46 support by the end of April

Anyone else want to pledge?


https://i.imgur.com/BE6OBwn.mp4

!!


Jerks' daily job is to find targets, not sure if deindexing from aggregators would help much, you should then deindex from major public relays too, and only post your stuff on paid relays (paid to read, not only to write). Meaning, you shouldn't be on public Nostr if you're afraid to be found by someone determined to find you.

I think the only anti-harassment solution that could work on Nostr is client-side filtering, based on contact/mute lists, friends' reports, etc. Don't show replies from people you don't follow, or that were reported/muted many times by people you follow, or replies from public relays. I bet some of these policies are implemented an nos.social, but the issue is - everyone's using Damus/Amethyst/Primal, and those have nothing like that.

The way I see it, we should have a separate pluggable layer/API/NIP for content post-filtering, that can be plugged into any app: an app forms a feed (main/replies/notifs/anything) and then passes all the events from the feed to the filter, and filter returns various labels (spam/harassment/nsfw/impersonation/...), and app covers the content of the labeled event and shows labels above it. This way apps don't have to rebuild their feed building logic - just apply another layer above it, users would specify the filtering API endpoint in the settings and get the filtering they want. Safe mode could be 'cover notes from users I don't follow until filter returns it's labels - uncover if no bad labels returned', more reckless mode could be 'show notes first, only hide them if filter returns some bad labels'.

If nos or anyone is interested in experimenting with me in this area, let me know.


Oh well they don't support bunker urls, only nip05 (which could be resolved to bunker url if only your signer had a domain name...)


Great! Don't hesitate to share feedback, it really helps!


Cool, let me know if you have any questions or ideas!


Let's just go to their github issues and post there?

Coracle looking for relays forever might be the case with brand-new keys.

Nostrudel has everything working in their 'next' version at 'next.nostrudel.ninja', on main branch of theirs you must use bunker URL for now - click 'Connect App' in nsec.app, copy bunker URL, then select Advanced -> Nostr Connect / Bunker option in Nostrudel.

There is also Snort, worked fine last time I checked, just choose 'Already have an account' and paste your name@nsec.app


Which clients interest you the most?
Most web clients either already support it, or are trivial to implement with nostr-login or window.nostr.js
Native clients are mostly disinterested and I haven't seen any enthusiasm from them, unfortunately.


Submitted! Thanks for contributing to the nip46 adoption!


We still haven't heard your feedback on nsec.app, we really miss it!


Try nsec.app to dip your toes


Ok so the 'nsecbunker' is one of the first nip46 implementations, and it had it's own 'connection string' format - it was 'npub' or 'npub#token'. But now the new standardized format is bunker://pubkey?relay[&secret] - all modern clients will support this format, some old clients support the old nsecbunker format. Nsec.app can't work with npub or npub#token format bcs this string doesn't allow to pass the relay address, which is needed to run the nip46 protocol (original nsecbunker had hardcoded relays so that wasn't needed).

Thanks, I will adjust the wording. Basically, there are 2 kinds of bunker urls - with a &secret or without one, one with a secret must not be shared publicly, only pasted to the connecting app, nsec.app generates only urls with a secret now.


Thanks man! It's great you're finding it useful, and thanks for the advocacy!


The is a video-guide on how to login to Coracle on nsec.app homepage, you should enter your bunker URL or your name@nsec.app
Don't share bunker URLs publicly - you have to put them where they belong, i.e. into Coracle :) Although I agree this bunker thing is confusing.
Nsec.app stores your keys in your browser - there is no 'admin key', all keys are separate. The password you specify is used for e2ee sync of your key between devices - so you can login to nsec.app with name and password and get your keys synched there.


If you tried nsec.app and found it hard to understand, I would really appreciate your feedback!


You can get the user's relay lists from his kind 10002 event (nip65), nsec.app doesn't yet support get_relays method.


Thank you all! Spring is on hold in dev terms, but we haven't published any updates that could break it, so something on your system changed. From the issue you filed I see it's related to webview update - I will keep it open and try to google this stuff to figure out if there's a known fix. Thank you.


Thanks. No there is no easy way to know how many bots there are


A thing...

https://image.nostr.build/2d60f12d7c3bda3137ba83620d56ac723719d0e755cd8d106011dfb16fc12d9e.jpg


Sorry, published 1.1.0


And with 'Sign in with extension' button if one is present.


Not yet 😟
nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj any plans for nip46 support?


Try nsec.app, it's a bunker in your browser.


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


We're excited to announce a new initiative to get creators and journalists on to Nostr. This is a project organized by nos.social with   nostr:npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg,  nostr:npub1w0rthyjyp2f5gful0gm2500pwyxfrx93a85289xdz0sd6hyef33sh2cu4x,  nostr:npub13myx4j0pp9uenpjjq68wdvqzywuwxfj64welu28mdvaku222mjtqzqv3qk,  nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955, and  nostr:npub1yzvxlwp7wawed5vgefwfmugvumtp8c8t0etk3g8sky4n0ndvyxesnxrf8q. The goal is to get a diversity of content on to nostr and show those creators and journalists that the nostr model of zaps and the new subscription content over nostr is a better alternative to centralized advertising driven platforms. #value4value

Please share this with creators and journalists you know who are already on Nostr and also those who might want to join. This will include both getting these folks on to the nostr apps which make sense for them, setting them up with a wallet, teaching them how to be successful on nostr, and importantly promoting them through a bunch of channels on nostr so they can build and audience.

We don't have the deep pockets of meta and tiktok, nor their powerful AI driven algorithms, but we've got something that can be more powerful, people.

Creators and Journalists know they're stuck sharecropping on centralized platforms that can demonetize or delete or just shadow ban their accounts. One day their content gets broadcast to the world, the next the algorithm doesn't even show it to their followers. Their revenue is dependent on getting a cut from an opaque and arbitrary advertising system.

So, share these links, if you're a creator or journalist sign up, and when we start promoting these folks on nostr, check out what they're doing and if you like it, send them zaps. This is open to both existing nostr creators and journalists and new ones we'll onboard.

https://www.nos.social/creator-residency

https://www.nos.social/journalism-accelerator


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.


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.


I am not aware of other stats


Because of our broken code, or probabilistic counting, or decentralized nature of nostr where we can't be sure we have all the data


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.


I don't remember about primal. Some numbers are more reliable, some less, our stats are the best estimate I have seen.


I don't think there is anything more reliable, _especially_ when it comes to active user charts, but I'm happy to be proven wrong.


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):


Some extensions work on mobile on some browsers. You can also try nsec.app


Turns out he does!


Insane! My kid came up three times to tell how freaking good the music is!


Cashu is looking for an experienced Rust dev to work with us on a Cashu Development Kit (CDK) and implement the Nutshell mint in Rust using the CDK. Open-source funding opportunities for a strong candidate exist. DM me and I'll show you the nut 🥜.

Join us.


There is a list of apps supporting nip46 on nsec.app homepage.


Which browser and OS are you using?


Does nsec.app usage break the satcom?


Try with nsec.app


I'm experimenting with a new podcast where we discuss a host of intriguing ideas from the edge.

Here's the first episode with satellite.earth founder  nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj!
https://fountain.fm/episode/E8PW5z2yVPzNBN2b44Kr

We discuss a wide range of topics including: Terence McKenna, the world of language, evolution, Web of Trust, and the future of Nostr. At least two big ideas really clicked for me: 1) Nostr as the substrate for digital evolution (i.e. forking with checkpoints) and 2) Nostr as an API for market intelligence.

This was a ton of fun to make! I hope to do this regularly with Stu and many other interesting folks. Feedback and ideas for future episodes welcome 🙏 ⚡


You can try nsec.app, it uses the same protocol as nsecbunker but you don't have to run it on your server - it stores keys in your browser.


Ok now that I'm thinking about it, the signature verification overhead could go away with batching, maybe it could make sense.


Which phone and browser?


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.


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.


How to login to Wikifreedia.xyz with Nsec.app:

https://v.nostr.build/6G6Rn.mp4


Nsec.app homepage has a list of clients and short video-guides at the bottom of it.


Awesome! That's not me, I guess nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn updated the listing to fix it.


Awesome!


Could you please try again now, looks like Coracle listing was updated. I've just tried it, seems to work.


nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg could you please consider updating to the latest NDK on Habla and others? It fixes nip46 connect call, more info: https://github.com/nostrability/nostrability/issues/25#issuecomment-2018748964


Thanks for the numerous report, heh. Will look into the issue.


Oh sorry, I forgot nip04 uses browser-native aes


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


As I said, it's fascinating. Our CEO should fire us all.


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?


nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 please take a look, fixing nip46 connect call https://github.com/nbd-wtf/nostr-tools/pull/391


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?


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.


I just use a strfry with custom write policy that only accepts 24133.


Nip46 remote signers like nsecbunker.com and nsec.app are really powerful. It opens up all the web clients to mobile use. Idk about you but I won't put my IRL sk into a web app any more.


Is it? Please tell me more


Try embed.nostr.band


nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr please take a look, fixing an issue in nip46 connect call https://github.com/hzrd149/nostrudel/pull/152


nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn please take a look, fixing an issue in nip46 connect call https://github.com/coracle-social/coracle/pull/321


There is a list of clients on nsec.app homepage.


Here is how you can login to Snort with Nsec.app:

(more video guides on nsec.app homepage)

https://v.nostr.build/jYgxV.mp4


Let me know if you have any feedback if you try nsec.app


One day someone asks to export their keys from your app, giving them ncryptsec would be safer than exporting in plaintext.


You may or may not be right, my point is that nsecbunker doesn't need any tunnels and can work on your phone.


No, they don't have to do any special forwarding - peers just use REQ to subscribe to the requests/replies they need. Nip46 describes it pretty well.


Nsec.app now supports Nip44, and it works with Coracle, you can try it instead of the extension.


The safer DM encryption (NIP-44) now supported by nsec.app!

Try it with Coracle.

nostr:npub1dww6jgxykmkt7tqjqx985tg58dxlm7v83sa743578xa4j7zpe3hql6pdnf when nip46 for Blowater?


Yes that's simpler, but that's not what nsecbunker/nip46 are.


Any relay that supports ephemeral events.


Exactly. Both are fake.


Since you have nip07 support you can just drop in the nostr-login library to add nip46 support.


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.


Most of these numbers are useless


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.


Ping me next time you wish to avoid something nip46-ish.


Thank you!


Awesome! Thanks a lot!


Could you please also propagate this to ngine and Badges, please? Btw when nip46 on Heya?


nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg please take a look, adding support for nip46 secret
https://github.com/verbiricha/habla.news/pull/161


nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn please take a look, adding support for nip46 secret (to make Gossip work with Coracle)
https://github.com/coracle-social/coracle/pull/314


nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr please take a look, adding support for nip46 'secret'
https://github.com/hzrd149/nostrudel/pull/149


Tag me next time, I will check your sanity 😉


nostr:npub1mhcr4j594hsrnen594d7700n2t03n8gdx83zhxzculk6sh9nhwlq7uc226 please take a look, improving nip46 code.
https://github.com/lightning-digital-entertainment/cashu-address-sdk/pull/1

The first PR to cashu-address-sdk!


There is a guild on the nsec.app homepage.


It's not just you, it's the trending calculator got stuck. Fixed, thank you.


💥 BitcoinMints.com 💥

We just launched the first place to list and review Cashu mints leveraging #nostr as the discoverability and identity layer.

https://BitcoinMints.com

Cashu is an ecash protocol that will enable https://makeprisms.com users to send millions of #bitcoin payments with one click.

BitcoinMints.com is a Nostr client that uses NIP-87 to publish and review mints.

$boost


nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr any plans for nip49 support for encrypted nsec import?


Were you using it yourself for some project?


Thanks for the link!


nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn please take a look, needed this while working on nip44 for nsec.app https://github.com/coracle-social/coracle/pull/310


Thank you for the critical feedback, you've given me some ideas I haven't considered before!


There is no API for stats.
Stats need a major upgrade to be usable by external clients, but that's not our focus atm.


I encourage you to try the nsec.app, there is a list of supported apps and video guides on the homepage, let me know if you have any questions.


You can try nsec.app, it implements the same nip46 protocol that nsecbunker does, there is a list of supported apps on the homepage.


Hi! I agree that the flow you've described is super unfriendly. The 'Discover apps' link on nsec.app leads to a general nostr app catalog - those are all apps out there, not ones that support nip46 (the remote access protocol that nsec.app implements). Eventually we will have a much better supported-app-discovery flow, for now you can go to nsec.app homepage and check the list of supported apps at the bottom of it. And yes, you have to open the app and figure out how to login with nsec.app there - each app does it a little differently, again our homepage has short video guides for every supported app. Does that help?


No, popups are blocked by browsers in various circumstances, we try to avoid that where possible but maybe we're missing something. Will look into that, thank you!


Hmm sorry to hear, will be looking for issues in this area, thanks!


Yeah requiring secret seems like a good path forward for non-oauth-like flows.

I will send some PRs to clients to add support for it.

That bot will inevitably be made bcs it's quite trivial, so thank you for raising the issue sooner.


Could you please try keeping the nsec.app tab open while signing in, would it work that way? Also which OS and browser?


I had to clear site data to get it working, was only showing Loading...

Is the frontend open-source? Wanted to submit a PR to nip46 part but couldn't find it


If people only used auth_url popups to confirm then your bot wouldn't do harm. Doing confirms through popups has other useful features. I wonder if I should implement the 'secret' thing and only show connection requests with a secret in the nsec.app itself.


It's so nice to have you guys around


I think comparing nsec.app with password manager is apples to oranges.


nostr:npub1mhcr4j594hsrnen594d7700n2t03n8gdx83zhxzculk6sh9nhwlq7uc226 npub.cash is down?


500k zap will go here
nostr:nevent1qqs8l5mm3scg65uvh0uh8jmp6a0sksmv86kuy774vau5qx7086s76lspp4mhxue69uhkummn9ekx7mqzyqduwzspfzelx9k6x0lrez0j8cl8rtz0lxvqylk8z2ustnfy76jpzqcyqqqqqqg0qt5ql


Nsec.app stores keys in your device, it's running inside browser service worker which is weken up by a push message if server detects that sw is sleeping and not replying


Where did that note get 2k likes? Which platform?


Why is remote signing a bad idea?


Nsec.app will be asking this for nip42 events so just encourage people to use remote signing and problem solved


Sent PR to add nsec.app


Yeah that the full nip46 implementation - app makes a call to signer, signer sends back auth_url message if confirmation is needed, app should show a popup with that url, when user confirms signer replies to the request and the app receives the reply to the method they called. For apps that don't implement auth_url you can manually go back to the signer to confirm. It's all in the nip46.


Great question! Some app messed up with it!


nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 nip46 coming to zap.stream?


nostr:npub12rrvutnfeu9677d4yjytypqccjn0njnm6zkx2j6xyn2uqfw02ldsrl8ty9 nip46 coming to zap.stream?


How to login to Nostr Nests with nsec.app :

(More compatible apps on nsec.app homepage)

https://v.nostr.build/nWrPa.mp4


nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr nostrudel trying to sign DM with 'null' in tags: {\"kind\":4,\"content\":\"vckekw0ADZhsRYcA/5Iv90sZw7rcvBySa2u6NG7FwbontwKcLKOrYGB5uTLPLqkMKImQqDiDHCLOl6E3YltJj3h5CTPmGC3y2e/pXhZgmID5Pdl4omf/hbcHaCuYG5N15NXLO7Wtg3yrQsefg5Xd9bMT5ZA6FwGzkvGLhCjKTn8Iz2IAwpqb2p6zbSCB166WGtEIM5rBVPTFfSTQMDtvxg==?iv=bxUEv6Zu4kVK7sNfAoaKWA==\",\"tags\":[[\"p\",\"5144fe88ff4253c6408ee89ce7fae6f501d84599bc5bd14014d08e489587d5af\",null]],\"created_at\":1710307709,\"pubkey\":\"3356de61b39647931ce8b2140b2bab837e0810c0ef515bbe92de0248040b8bdd\"}"]


There is a list of apps at the bottom of nsec.app homepage. Several bigger ones are in the pipeline with bug fixes. Shipyard only works with nsecbunker, it's not yet fully implementing the nip46.


the beginning of infinity


Yay!


Good idea


It does


Getting eth spam calling themselves SwanBitcoin News. Cc nostr:npub1tftc33ttam85wraffce62cgtvvjrmttquqlv6a0agtfm5nl4vues82xar5
https://i.nostr.build/BR790.jpg


I absolutely loved dune 1, can't wait for the second part


Yes


It works! Just converted some sats  to ecash


Thanks for using it and for the feedback!


It involves generation of session keys by the app, and use of those temporary keys to talk to the signer (nsec.app) over some relay.

Bunker url is just a pointer to your npub and a relay over which app can talk to signer. But bunker url can also contain secret that has pre-approved permissions attached to it by the signer. Nsec.app doesn't support that atm.


No, it's a protocol, how apps can talk to your keys.


Cool! Let us know how it goes!


How to login on npub.cash with nsec.app:

(I'm recording a series of short guides on apps supporting nip46, links on nsec.app homepage)

https://v.nostr.build/oMWZx.mp4


I'm populating the list of supporting apps on nsec.app homepage at the bottom, with short video guides.


I am officially opening up my calendar for anyone interested in getting their own white-labeled version of Coracle stood up.

cal.com/coracle.social

Hosted options and consulting available. Hit me up, and please recommend coracle to any community organizers you know who care about bitcoin and individual sovereignty.


Awesome!


That one is broken in current version, fix coming


Yes I think so


Thanks, that would be awesome!


Try your name on this screen https://next.nostrudel.ninja/?#/signin/address


I would encourage you to use your name@nsec.app to login where possible. If we ever start generating bunker urls that must be kept secret we will have big warning all over the place.

We currently export keys in ncryptsec format, not many apps support it yet (Amethyst does). Importing ncryptsec is on the roadmap.


Try typing your name@nsec.app to Snort login screen, might work. Several issue fixes were submitted to Snort last week, hopefully will work better when released.


nostr:npub1getal6ykt05fsz5nqu4uld09nfj3y3qxmv8crys4aeut53unfvlqr80nfm hey there is a broken Discord link at the bottom of nwc.dev


Could you please try again on next.nostrudel.ninja? It is a coming-soon version of nostrudel where several bugs have been fixed, try the 'Nostr Address' option to login with your name@nsec.app


Password manager can only store your nsec safely. Nsec.app can give permissioned access to other apps to your keys, and you can put nsec.app's password to your password manager to make life simpler.


Which app did you try it with?


Which app did you try nsec.app with?


I would zap my pants off if you sketched one for nsec.app


None that I'm aware of. But those are next on my nip46-advocacy todo list, we'll see how it goes.


Bunker urls currently generated by nsec.app aren't sensitive. But there are different kinds of bunker urls, some of which are sensitive, so I'd say you shouldn't get used to treating them lightly.


You can have multiple accounts in Alby and can switch btw them, but you'll have to also switch in each nostr-app - most of them have their own 'logged in user' state, so just switching in alby won't be enough. My solution is to have several accounts in nsec.app and use different nostr apps with different accounts.


Snort, Nostrudel and Coracle support nip46 (or at least will be with the next releases), for now there might be various issues here and there.


Web apps can be PWAs - I have nostrudel installed, works with nsec.app pretty well.


Nip46 is a good idea, hopefully with a set of patches I sent last week we'll have major apps (habla, snort, coracle, nostrudel, etc) supporting it well on all platforms. Nsec.app or not, a good cross-platform key  storage with permission management etc is way better than copy-pasting nsecs.


This depends on what you mean by 'down'.

If our APIs are down then the background signing won't work, but the web app (and pwa) will work and will allow export and signing (with an open nsec.app tab).

The web app is unlikely to be down - it's hosted by vercel cloud, and it's heavily cached in your browser so even if vercel is down it would still work from cache.

We also have roadmap for various backup strategies being auto-implemented or at least auto-suggested.

In the worst case we're permanently down or have killed our database and you clear your browser data and have no backup - then your nsec is gone.


Yes


There is Amber for Android


Try nsec.app works with many web clients


Fantastic!


Omg how did you do that?


Where is 9?


I've been receiving such bugs for the last three weeks for nsec.app, feels good to get a chance to complain too!


nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac 👍👍👍


Awesome!


Ok thanks for help everyone. Phoenix copied invoice with lightning: prefix, Alby doesn't recognize it.


I just did, thank you!


nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr Hi tried to activate wallet on Primal Android, get "too many wallet operations", second attempt - same result. What am I doing wrong?


Tried w/ 1k sats - same issue


nostr:npub1xv8mzscll8vvy5rsdw7dcqtd2j268a6yupr6gzqh86f2ulhy9kkqmclk3x Hi trying to withdraw to my Phoenix wallet, Alby says 'Invalid recipient' - what does that mean?


Wow Badges.Page design updated - looking so much better! And supports nip46 login now, great job nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg !


nostr:npub1gzuushllat7pet0ccv9yuhygvc8ldeyhrgxuwg744dn5khnpk3gs3ea5ds Hi! Any plans for nip46 login on nostree?


nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr please take a look, fixing some nip46 issues: https://github.com/hzrd149/nostrudel/pull/142


nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn can't I create PR's to coracle bcs I'm not a collaborator? Anyhow, some improvements here https://github.com/brugeman/coracle/tree/fix/nip46_improvements
- ensure auth_url only shown once
- add nsec.app to nip46 providers
- add requested perms to connect/create_account (need to add more kinds that Coracle signs)
- remove create_account hack - it returns pubkey


nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg Hi please take a look at https://github.com/verbiricha/habla.news/pull/157 - fixing bunker:// logins on iOS


Any plans for nip46 nostr:npub1yfg0d955c2jrj2080ew7pa4xrtj7x7s7umt28wh0zurwmxgpyj9shwv6vg nostr:npub1eequz6v23szzyx9utphsh8kg6kll50wte6sfh4vah8gdjtplcz6qg7at9s ?


It won't mature without your feedback!


Right, but also I am not sure adding a password is that necessary for starters.


We are on the same camp here, next time I talk to native dev I will call you for reinforcement


I agree in theory, in practice no native app devs have shown enthusiasm. Native apps are proud of their low latency, nip46 can never get that performant and predictable. Batching solves dm decryption, and signer-relay saves one round trip, but one rt stays no matter what. Unless it's some nip46-over-ipc on the same device.