-
-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add bitcoin support #364
Comments
This comment has been minimized.
This comment has been minimized.
Quote from Learning From A Year of Security Breaches:
|
It should be pretty simple to do this kind of integration with Coinbase Payment Buttons. Basically you just have to register a merchant account and embed the button. And you can configure it to do automatic, daily payouts to a bank account. |
I've gotten similar e-mails (with bitcoin, monero, not paypal) and would appreciate this feature very much 🎉 Thanks for making this awesome platform in the first place, and I understand that the feature is blocked right now. |
Sorry if I'm pointing out the obvious, but I feel compelled to note that bitcoin itself does not have a mechanism for recurring payments (in other words an owner of a wallet can only "push" payments, but a receiver can't "pull" payments), which clearly is essential for any patronage-based donation service. It seems Coinbase has implemented "pull" payments, so I'd second what Nutomic says. (I do understand that this issue is blocked on #182, but I'm really hoping to integrate bitcoin, because that would be a game-changer). |
I would like to say that I actually prefer to have option of making "push" payment. Please note that Coinbase can arbitrary suspend an account. CoinPayments allows sender to choose one of many cryptocurrencies, which is quite useful considering how expensive Bitcoin transaction can be. I'm not affiliated with them, I just paid them for something and it worked. |
I don't get this statement, and would also prefer to "top up" manually rather than having a service pull money out of my pocket on its own account. It's not like I'm paying for a service here, I'm just donating. So if the balance runs out, then the donation won't go through. No legal action is required since I wasn't obliged to keep donating. A "low balance" warning would be nice of course. |
You're right, it's not a problem for topping up. |
@bjorn you are right. Maybe just a message to remember to send more money to liberapay would be enough. @pm73 CoinPayments seems to be cheaper. Another option is https://www.bitwage.com/ How does it work today? I mean, when someone sends money, does it go to a liberapay's bank account and then every month you send some amount to the content creator using mangopay? Or does it go to mangopay's account and then they send every month? |
@MartinDelille I think that CoinPayments and https://www.bitwage.com/ do the job |
I can definitely implement CoinPayments.net support for this project. I have done this both commercially and for free for non-profits and open source projects many times. It takes me about 2-3 hours of work. Just let me know! |
@hopeseekr, sure. It would be great. Now this issue isn't blocked by #182, so if it works well we will merge it. Remember that there are also other cryptocurrencies apart from BitCoin (for example, FairCoin), so you probably should try to make some of the code reusable. If you decide to work on that, let us know, and we will add you to the Liberapay team. |
It will support over 50 cryptocurrencies, but faircoin isn't one of them (first I heard of it). I will do this next week if you get everything setup. It's a 90% HTML5 + JS implementation. The only part that comes from Python would be the fiat currency price and item name. |
If the coin supports QR codes, then once I get the HTML5 framework setup, your devs should be able to add additional QR/coins relatively easily. That's what my existing clients do. |
@jorgesumle What I need:
In this format: {
"item_name": "<?php echo $item->name; ?>",
"item_price": "<?php echo $item->price; ?>",
}
I have a very limited familiarity with Python. That's the only risk I see. |
@Changaco has more knoledge of the codebase than me, but I think that you can find pretty much everything using grep with the option -R and some text of the English page you want to modify. For example,
|
Has anyone here looked into POA bridge for this? |
If this becomes implemented, in the "spirit" of Bitcoin it would be best if transactions are handled through a self-hosted Bitcoin node, either by directly interacting with the Bitcoin Core RPC/REST API, or a combination of the FOSS BTCPay server and the Bitcoin Core APIs only for sending outgoing transactions. |
There is an interesting proposal about Nano crypto currency here: #1171 (comment) |
People have barely heard of Bitcoin and now we want to get them to learn about Nano? How would you ever buy that? You first setup Bitcoin wallet, then buy some Bitcoin, then setup a Nano wallet and then find some online exchange to buy Nano? I think you'd lose most of your users. |
I've added a third vote against that, FWIW. |
Ok this is not nice for people who want to use bitcoin but I respect your vote. |
That is not more "not nice for people who want to use bitcoin" that people who want to use it are then being "not nice for people who doesn't want to use bitcoin". Please, don't encourage people with different opinions to be one against each other. |
Ok I answered too quickly. Having different point of view is crucial for a project like this and I would like to apologize. |
Thank you. |
2 more people interested in having bitcoin support in LP from the Diaspora* LP account. |
One way to implement this for Bitcoin (or any crypto currency, really) would be to initially:
Phase 2 of this integration could include validating addresses, using an API to Bitcore, etc. |
This would be a good start. We could even remove the QR-Code from the first version. |
This would require storing the cryptocurrency donation in the database in some way, but not having any control over whether the donation was actually completed. I'm not sure how keen I am on that. |
Can you elaborate ? Is your concern the amount of donations, the inability to confirm them automatically or both? The transaction confirmation could be entered manually but it's not convenient and can't be expected of donors. Every crypto transaction is in the blockchain so this is available, just not automatically. This is the kind of "2.0" feature that could be crowdfunded by crypto donors. |
The inability to confirm them. |
Re-thinking this there really is no reason why you couldn't check a user's crypto address after a link to pay has been sent (within 1-2 days?) and verify any funds have been sent there, for those with public blockchain support (like Bitcoin). For others it may not evene be wanted to track the amounts (eg. Monero). What's the reason for wanting confirmation of such donations on LP? Commitments to donate could be tracked separately in this case (vs. hard-confirmed donations). |
I don't speak for anyone but myself, but mostly it was this part that goes beyond an "initial" step:
To avoid abuse/confusion/inflation of the transfer statistics, it seems like confirmation is warranted unless all transactions are treated as unclaimed donations, which aren't built into the notifications right now. Without doing the extra work up front to verify that transfers took place, it might not be worth the effort to go the rest of the way. |
As a crypto receiver or donor I would be OK with both situations: an idea of monthly commitments or confirmed transactions, or none at all. |
One idea to consider would be to instead make a web wallet (via something similar to CoinBin). It could then encrypedly store the keys on LiberaPay's servers. |
I agree with @MagicFab. For the start, there could just be some input to specify addresses (for Bitcoin, Litecoin, Ethereum and others) and show them on profile along with QR code and some text. The problem of @gjhklfdsa idea is security. That wallet should be trusted because anyone with a private key could steal coins. Also, it could not be practical because people would need to use separate wallets for their main and LiberaPay accounts. I think it would be better to integrate it with existing wallets. And for subscriptions, Ethereum recently added support for them (ERC 1337). This could be done with 8x protocol although it is currently only available on testnet. It allows providers (in this case people that want to receive donations) to set up how often and you many they want to receive. |
I forked LiberaPay in 2018 and managed to add native support for Bitcoin, Dash and Ethereum. The code is on a private server of the client I worked for at the time, but I know for a fact it's possible. |
With currently Paypal and Stripe being the only options to withdraw, please also consider withdrawal via Bitcoin, to have at least one option that's somehow privacy friendly. There are payment processors for that, there are APIs, so it should be possible to at least have that (while probably waiting another few years for direct SEPA). That could revive several accounts that fell dead with the closure of Mangopay (like mine) as well as attract new "receivers". |
@hopeseekr is there anything preventing contributing that code back here ? I mentioned in another comment "Phase 2" could implement funds/payment verification, etc. This project has a full implementation which could be used as inspiration: https://btcpayserver.org/ |
I literally don't think you guys are interested. I also did it for a private company in a foreign land where BTC is far far more widely spread amongst the masses (Singapore). I have NO PROBLEM doing this gratis for you guys. What I'd need is some sort of guarantee that my for-free and for-the-love-of-BTC that my PR wouldn't just languish in the wind. I know for a fact the company in Singapore is using it commercially. That said, I have qualms about the license. CC0 1.0 Universal can be interpreted as a cessation of all rights... I'd much rather MIT License my contributions. My problems with the CC0 and cryptocurrencies are thus:
|
The CC0 license has been discussed several times, e.g. #564. If I understand correctly, if you released your code and it was incorporated as a dependency, could you not use whatever license you would like? |
Yeah that's a good idea. If this project has a type of plugin system, I could license it under the standard MIT License and still be able to revoke the license from bad actors once identified. |
Absolutely, I'd donate a lot to worthwile projects if bitcoin was supported. Without bitcoin? nada. I mean, come on guys, a lot of open source supporters made a considerable amounts on bitcoins but keep the funds in bitcoin, think about that. |
Closing in favor of #1994. |
After today email discussion, I think it's time to think about bitcoin support. I have collected two ressources that might help me in the process:
I need to do some further investigation but the main issue will be how to deal with the situation where someone give bitcoin to another accept only euro. I think we agree not to partition money flow? What should be the referal value in the system?
Feel free give me your point of view!
The text was updated successfully, but these errors were encountered: