- p2p non-custodial zaps
- When you don't have enough sats to zap someone that has a receiving wallet attached, you'll now pay directly to their attached wallet. We use lnproxy-like mechanism to do this which hides your node pubkey from the zapper (they see SN's node pubkey).
- I described this mechanism in Atomic Split Lightning Payments, Hold Invoices, and Blinded Paths
- Reminder: we have significant bounties on bugs/vulns for stuff like this
- lnbits receiving
- LNBits is our first attached wallet to support both sending and receiving, you can configure it to do one or both now (via @ek)
- sats filter
- we've replaced greeter mode with a more generic
sats filterwhich allows you to filter out posts based on "investment"- that is, posts are only visible when a post's
sats zapped + post cost + boost >= sats filter
- that is, posts are only visible when a post's
- you can achieve the same effect as greeter mode by keeping your
sats filter = 0 - If you didn't previously have greeter mode enabled, we default your
sats filter = 10
- we've replaced greeter mode with a more generic
View all commits here: https://github.com/stackernews/stacker.news/commits/master/
(1) is the final difficult stage of our wallet plans. We have a few weeks worth of work left before those plans are done (mostly UX stuff). We'll pin a post about the schedule for wallets soon. No action is needed on your part to keep the sats in your account. When we transition, any sats in your account will be available for withdrawal forever.
FAQFAQ
- What happens to the sats in my SN account when the wallet plans are done?
- Nothing. They will always be yours to withdrawal.
- I'm hard of reading. What will happen to my sats?
- Nothing. They will always be yours to withdrawal.
- Seriously, what will happen to my sats?
- Nothing. They will always be yours to withdrawal.
We'll have more complete FAQ in the pinned post that I'll write soon as mentioned before.
Since starting the Open Source Contributor Award Rules (OSCARs), we've paid a total of 8.5m sats to 26 contributors for 121 contributions! View an up to date list of contribution awards here: https://github.com/stackernews/stacker.news/blob/master/awards.csv
Previous release: #632357
With your improvements on the wallet I was thinking... wouldn't it be nice if SN could work like Albi? From my ignorance it seems you're 90% already done towards being a Nostr logger, full with wallet and all.
Do you mean like Alby Hub that supports different backends? Maybe we thought about the same thing already:
It would be cool if you could use the wallets you attached to SN as a payment method outside of SN. Just like receiving to your SN lightning address can forward the payment to one of your attached wallets (so basically like a p2p zap but from outside SN) (and will do so soon), if you want to pay a coffee with SN, SN could figure out how to pay the invoice using one of your attached wallets.
However, since payments are triggered in the client, you would need to have SN open for this to work. So that's where it becomes less cool. But I guess that's okay since it could work by simply pasting the invoice into SN so you'd need to have SN open anyway.
If you use SN as a PWA, it'd work pretty well like that. We can use attached sending wallets to allow you to pay for stuff. Kind of like Zeus without the mobile node.
Adding to all of what @ek and you said, I was also thinking about Albi in the sense that it's a fully integrated onboarding platform to Nostr. I'm not using Albi, but when I first tried to get into Nostr it was a nice option because it gave me everything: the wallet, the Nostr keys, and the Nostr logging functionality. In that sense SN would work as a nice port from which one could start to navigate the Nostr sea. It seems to me you've all for SN to work like that. I actually saw and started using SN because I liked that the community seemed like a nice way to prep and warm up to jump into Nostr, so even the community itself aligns with that objective.
Yeah, I guess when we've migrated to fee credits, withdrawal will no longer make sense. It could simply become "pay with attached wallets".
I think it'd just be "pay" or "send." There's no need to call them "attached" because all wallets will be "attached."
Yes, I almost edited my comment to mention this but then I got lazy
It will to some extent for receiving sats if you have a receiving wallet attached, ie your SN lightning address will go directly to your attached wallet. For sending though, we never want to store permissions or anything that would allow us to spend your money on the server.
I really like this focus of yours
-> google -> "how can I get a video tattooed into my arm?"
Possible Bug: I don't think the filter is working correctly.
I set it to 1000 Sats and I am still seeing post like this (#648780) on my main home page
It's an honor being your example of a post that's beneath you.
I only accept the very best post to exclude.
High standards => high performance.
🤣🤣🤣🤣🤣
I think it’s only applied to /recent but @k00b can confirm
That appears to be the case.
My personal vote would be to have it on all the pages but maybe there is a good reason I am not aware of.
As always, great job to the SN team. Keep up the good work.
I think the reason was that spam is mostly on /recent
Filters have never been applied to hot but we could add them.
Your next one should be Nostr Wallet Connect -- the spec supports both sending and receiving but right now you have it as Send only
Yes, it’s next on my list.
However, since we don’t want to store spending permissions on the server where we coordinate receiving and NWC uses the same connection string for both, this might get tricky.
Receiving with WebLN will also be tricky since it’s not available on the server.
Where do you store the spend key for LNBits? If not on the server then presumably on the client -- or encrypted on the server in a blob which gets downloaded/decrypted by the client. Whatever you do for lnbits, you can probably do the same for NWC
Yep, we can use a different NWC string for each sending/receiving.
Ah, I didn't realize that the permissions can be configured per string by the wallet (at least Alby does that)
even though it's not mentioned in the spec:https://m.stacker.news/45892
edit: Oh, I forgot that the info event is per connection string, not per wallet. Then it makes sense that you're supposed to declare what this connection allows with it.
Got my first “p2p” type today.
https://m.stacker.news/48008
Does this essentially mean that I’ve received a zap from a non-SN wallet?
Yep!
Nice!
Quick bug report, I am seeing a lot of 404 links e.g. https://stacker.news/WeAreAllSatoshi/all and https://stacker.news/~meta
Thanks, we're investigating. Same for /notifications and /recent but only if you're logged out.
I had to use @anon to find the link to this post since /recent was broken. Is that also how you arrived here?
This is what my /notifications looks like
https://m.stacker.news/45881
We returned
undefinedsomewhere we shouldn't have. If you disablewild west mode, you'll be good until we deploy the fix.Fixed.
Woo!
I am subscribed to @k00b's posts, so I got here on mobile. Then I had to find it again in my wallet history since it wasn't indexed in the search engine yet, and I couldn't visit ~meta haha
Damn! With the updates, always the bugs arrive!
The untrained eye will miss the subtle hints you made that kind of relate to this question but to put it explicitly for everyone to understand, what will happen to my sats?
Nothing. They will always be yours to withdrawal.
withdrawal is a noun
you need a verb to follow the word "to" which signifies an infinitive
I think you meant "yours to withdraw" or "yours for withdrawal"
all four times
If I have a friend like you early, maybe I will have graduate by high school.
ok never mind.. I will figure out... 🤔
Getting an error when trying to save the invoice_key (which shouldn't even be required when one has the admin_key, right??) in the wallet attach screen:
failed to create test invoice: Unable to connect to http://lnbits-phoenixd-phoenixd-1:9740My LNbits' funding source is configured to use a local dockerized
phoenixdwith container namelnbits-phoenixd-phoenixd-1, and for some reason SN is trying to access the local address when I press Save. It should use the Lnbits Create invoice POST api request... which I can confirm works just find with the Invoice key.curl -X POST https://lnbits.mydomain.tld/api/v1/payments -d '{"out": false, "amount": 1000, "memo":"testtest"}' -H "X-Api-Key: <my_invoice_key>" -H "Content-type: application/json"That’s the error lnbits is returning to us. There’s no way we would know the local host name
but how come that the curl Create Invoice API call works just fine?
curl -X POST https://lnbits.mydomain.tld/api/v1/payments -d '{"out": false, "amount": 1000, "memo":"testtest"}' -H "X-Api-Key: <my_invoice_key>" -H "Content-type: application/json"Can you try specifying the amount in msats?
curl -X POST https://lnbits.mydomain.tld/api/v1/payments -d '{"out": false, "amount": 1000, "unit": "msat", "memo":"testtest"}' -H "X-Api-Key: <my_invoice_key>" -H "Content-type: application/json"It does work in the sense that it returns a proper BOLT11 invoice, But LNBits seems to convert msat -> sat incorrectly. 10000msat becomes a 100sat invoice amount (should be 10sats).
It's still not an explanation for the OP error message
It appears that
msatis not a validunitfor LNBits, but instead of throwing an error, they just divideamountby 100.I raised this issue: https://github.com/lnbits/lnbits/issues/2642 Let's see what they respond.
In the meantime we stopped using msats for lnbits if you want to give it a shot.
Does this error happen consistently with SN?
failed to create test invoice: Unable to connect to http://lnbits-phoenixd-phoenixd-1:9740Afaict, we tried the domain you provided us (
lnbits.mydomain.tld) but LNbits returned this error. Maybe it wasn't able to reach the container when it tried but it would work on retries?The container must have reachable as it is running next to the Lnbits container, and I tried the curl command literally a few secs later, successfully.The container must have reachable as it is running next to the Lnbits container, and I tried the
curlcommand literally a few secs later, successfully.That said, I went through the process again just now - and it magically works now. I can save the incoice key, without error message. Weird. but at least it works
Yes, but we store the admin key in your browser and the invoice key on the server since that's where we coordinate autowithdrawals and p2p zaps. We don't want to store spending permissions on the server so we need something restricted to receives for the server.
This is all very interesting, but what happens to the sats in my SN wallet?
Nothing. They will always be yours to withdrawal.
That's a relief. You should have mentioned it in the post.
withdraw*
That makes five times
*it ?
Plans to add lightning node connect send/receive ? would be great to add a 'custodial' LNC from my LND node for sending/receiving
We have LNC sends already. We plan to add receives.
Recently I have been unable to zap on Stacker News over LNC. I created a new connection phrase and made sure I have enough sats in my wallet. Could something be broken?
Maybe, but we did not change anything, we already tried pretty hard to get LNC to work well
tbh, it kind of sucks as a protocol
when's the last time you tested it ek?
mhhh, good question, not sure I even tested it again when I was working on wallet v2
seems like I did test it during wallet v2, because I added a bash oneliner to get a new pairing secret
but just tested it again now, seems to work, just currently getting common routing errors in my local dev setup which should be unrelated to LNC
do you wallet logs or browser console give any hints?
This is what this looks like:
Did you try with a fresh pairing phrase? If not, do you get the same error?
Yes, on September 2 I made a new pairing phrase and ran into the same error.
excellent! will the stacker news ln address eventually not be usable or even with the end game of this change realized one can still use it to receive sats to their node ?
They'll be able to receive sats through their SN lightning address to their node. We'll even allow you to hide your node's pubkey with our node as a proxy if you want.
https://c.tenor.com/C53_IMtpP0IAAAAd/chuckle-shea-brennan.gif
@natalia @StillStackinAfterAllTheseYears @kepford @fed I didn't get the withdraw bug today.
The problem is that most of "wallet" implementations don't like amounts denominated in millisats and I want to figure how to handle that best (without rounding unfavorably). I'll ship a fix tomorrow afternoon at the latest.
I get excited when I find a bug in an open source project. Thanks @k00b
No worries. Thanks for tackling it as soon as reported.
deleted by author
Not sure if it's a problem on my end, but I'm getting the following error when trying to attach an invoice key for receiving with lnbits.
0s [lnbits] error failed to create test invoice: Unexpected token < in JSON at position 0P.S. the admin key for payments seems to work just fine.
On my end, that's what I'm getting in the logs when trying to attach the wallet here.
Aug 15 12:56:34 [hostname] docker-lnbits-start[587959]: 2024-08-15 12:56:34.84 | WARNING | Server error '500 Internal Server Error' for url 'http://[phoenixd-server-url]:9740/createinvoice' Aug 15 12:56:34 [hostname] docker-lnbits-start[587959]: For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500 Aug 15 12:56:34 [hostname] docker-lnbits-start[587959]: 2024-08-15 12:56:34.85 | ERROR | InvoiceError: Unable to connect to http://[phoenixd-server-url]:9740., Status: pendingI'm creating invoices just fine using lnbits, so not sure why phoenixd is complaining.
Our test payment might be too small for phoenix.
I'm looking at all of this now. The problem is most of this kind of node middleware barfs on millisats ("oh no one needs those lets just pretend they don't exist") even though the specs support it.
https://m.stacker.news/45947
@k00b please add also a warning to that link to lnbits.com: RUN YOUR OWN LNBITS INSTANCE. Newbies will just create a demo account from lnbits.com (totally wrong) and use it with SN. Here is the LNbits documentation: https://github.com/lnbits/lnbits/wiki/LNbits-Documentation https://m.stacker.news/45948
Looks like auto-withdrawal is not kicking in (I'm guessing related to this change, but if not, I can submit a bug report)? My daily rewards yesterday should have triggered it, but didn't.
If autowithdrawal fails, it won't retry until your balance changes again.
Just a heads up. If anyone is trying to connect a node with lnbits through Umbrel, it won't be possible. Umbrel doesn't support https
If there are ever any non-technical positions, i would throw my hat in the ring!
Fantastic job guys! As always thank you for being so transparent its a great thing to see!
I still like to use more cowboy credits. Using an external wallet to zap on SN it create too much friction, fees, hassle. For a stupid 10 sats zap you could get a force closed channel, for example. Any zap under 546 sats over LN should be considered dust and is better to be done with cowboy credits. Sometimes custodial is not bad if is done properly.
We’ll have cowboy credits too.
deleted by author
Very cool
great job guys! I love the work you are doing here.
thanks for the continued work with the zapping
Great job team, onward!
When SN cowboy credits will be taproot assets ?
ew
https://i.postimg.cc/x8B5j8zz/Darth-laugh.gif nice bait 😂
Learn how to attach LNBits wallet to SN #697132
That's good SN you have done great job
👏👏
lighting network cant transact with main chain network by chance it aggery to send btc then its asks for charges that's a big problems
Stacker filter is working that good. like is it is lacking somewhere
Congratulations for another update. You guys are so dedicated to make SN a better place for us. Really appreciate your hard work. Keep it up well-done guys.
Nice job! Making it better and better with every passing day! Thank you @k00b and team SN!
Wow, great job guys. 👍