BlueWallet / LndHub

Wrapper for Lightning Network Daemon. It provides separate accounts for end-users
http://LndHub.io
MIT License
765 stars 191 forks source link

Shareable LNDhub LNurl Withdrawal links (.2 BTC Bounty) #119

Open godSaysHODL opened 3 years ago

godSaysHODL commented 3 years ago

This would be a huge feature, but something that could create shareable links within an LNDhub instance, that a user could scan with any LNURL compatible wallet.

First a process for LNURL withdrawal would need to be established within LNDhub and bluewallet.

currently Bluewallet doesn't have sequence for sending sats without scanning someone elses invoice.

The process should look something like this.

new

The LNURL withdrawal should allow the accepting of 1000 sats when another Bluewallet or other LNurl wallet user scans it. However through LNDhub there could be a payment link feature.

Imagine that on LNDhub, an account could request to make a 'payment link' (or backend html page) from any LNurl withdrawal invoice that's been created. they could share that link and it could be accessed from whatever LNDhub they are connected to.

if this was done on the default instance, it could look like this -> LNDhub.io/withdraw/invoicenumber when the request was made. Sharing this link, would open a browser page where the LNURL withdrawal invoice could be scanned or linked into a button for bluewallet users. On this page there should also be a link to download Bluewallet if you don't have any bitcoin wallet that is LNurl compatible. The payment link will have an expiration date on the server which is listed in the text of the shared message. If the payment link expires or is canceled, the sats are returned to the original account owner.

This would be an incredible onboarding opportunity as well as a way to send a Bitcoin payment through any normal messaging app.

godSaysHODL commented 3 years ago

here is a poor mockup of the payment page. (I don't design UI well lol)

desktop

xraid commented 3 years ago

I made this . before i started explained in detail that we need a to have a specification on deliverable because otherwise a project will always find more features and add-on as understanding of problem domain gets clearer with the progression of time.

the specification we agreed on was :

"a page with QR gets loaded into a BLW and returns a invoice to server that pays invoice : Tech used - LndHub LnUrl JS : "

Spent 30 days and had it ready beginning of February, when asking for the compensation offered, there was more to be added with new demanding conditions "outside" of our first specification and I was offered half as compensation for my work, whereby I counter that now he need pay the double since he has broken our agreed gentlemen contact by trying to add to the specification and also is now try haggle.

So what i have is a LNURL Extension to LndHub that is a separate folder drop-in and installed with a one-line change to the LndHub repo code.

The LNURL Extension creates a URL and QR for a set amount LNURL-withdraw (single/recurring) connected to a LndHub account.

I then extended the functionality to be able to from phone "mint" LNURL-withdraw URL's without changes to the BlueWallet repo.

Also added LNURL-pay functionality, here also able create URL and QR by command or from inside BlueWallet.

I halted further work as the bounty offered was never realised and the initiator of the bounty went dark / unreachable.

So the state of the code is not package ready and will only be used in-house for now ...

I write this to say if You want to work with the above, then go ahead but only after You assert a escrow for bounty.

godSaysHODL commented 3 years ago

@xraid, you refused to upload to upload your work to github to be reviewed

You then demanded compensation of the whole .2 bounty for only the backend portion of the idea, saying you were incapable of the UI development. I told you I would pay you half the bounty for half the work, should it be reviewed, and you pissed off, angry I wouldn't give you the full .2 btc 🤷‍♂️.

I've paid out multiple bounties to people who made the working features I described in this bluewallet repo. You IGNORED the github and tried to make your own separate "SPEC" so you could get paid without doing the job.

Don't come in here angry until you upload some changes to the project that look like they're capable of merging. To this day none of your LN-URL code has been put into a request in here, to be reviewed by other people.

ncoelho commented 3 years ago

A pull request, review and merge is expected.

Otherwise for custom work you can hire a freelance from anywhere to do the work.

A bounty using the repo is to be shared with the community in a foss fashion.

Imo.

xraid commented 3 years ago

ncoelho,

did You read what i wrote above or was i not clear ?

I and initiator of bounty agreed upon a specification covering : a LndHub Extension entailing server ,LNURL-withdraw, LndHub coded in JS.

there are no wording of Android / iOS or mention of having to be merged into LndHub and BlueWallet repos.

The idea was to package it up as a freestanding LndHub Extension Github:repo for review, where it could if wanted / needed be included in the LndHub repo, even if included in LndHub repo it should not necessarily be active by default, as it is an Extension.

Now initiator of bounty has imagined but not informed me beforehand of additional outside of the (agreed on) specification functionality ... and also has the audacity offer me 1/2 of agreed on bounty.

I inform on the specification agreed on has no wording of Android / iOS and mention of having to be merged into LndHub and BlueWallet repos.

The functionality of the specification in context was to be able to together with the LNURL-witthdraw specification from a LndHUb account wallet = generate / serve a URL and or QR.

That is what i built and it was ready in the first week February of 2021

I repete I write this to say if You want to work with the above, then go ahead but only after You assert a escrow for bounty.

godSaysHODL commented 3 years ago

You asked me about how I wanted specific parts of this to work, @xraid, and then later implied that by describing those tiny parts I was telling you "spec" on how you would earn the bounty by doing just those specific working parts. The bounty as a whole is described in detail in the here and especially the bluewallet repo.

You've been sketchy though this whole thing. You've refused to upload your work still. You even demanded double the bounty at one point and said for me to "pay you by end of the day".

Screenshot_20210605-100501

👆 I offered to pay you half for the backend half of the project you did

you got mad and demanded double, still without uploading anything to be reviewed 🤷‍♂️ 👇

Screenshot_20210605-095837

Stop being drama and just make a pull request if you want your part of this reviewed. I haven't seen any of your code so how would I know you've done anything at all? I'm not gonna air out dirty laundry on the github. It's a waste of peoples' time

xraid commented 3 years ago

You have been testing and getting paid from the LNURL-withdraw from a LndHub account code Yourself . so thats some also nuno and marcos tried it ... needs more testing for sure . but i am now using it in house and i am sure somebody else will pick up on Your vision

kiwiidb commented 2 years ago

I've created a draft PR that will deal with the server-side implementation of this: BlueWallet/LndHub#324 . Would be awesome to have some feedback on the technical side, scope and the TODO's.

Is the Bluewallet team still open to adding this kind of feature to LNDHub? It has been some time and I saw that support has been added for shutting LNDHub down, so it might be that the focus has been elsewhere (on-device LN wallet with LDK for example).