I want to develop a lightning powered paywall app with Django on heroku but don't know how to implement lightning part of the application besides using a rpc lightning package which needs a lightning node address which is online constantly. I am currently running a bitcoin node and a c-lightning node on my laptop but I shutdown my computer at nights(electricity costs too much in Turkey). So what should I do? Should I switch to a seperate lightning node like Umbrel which runs 24/7 without the need of a laptop, install lightning node on Heroku(I dont know if it is possible) or use 3rd party providers like btcpay-server(if it is possible)?
2 Answers
Accepting LN payments requires being online because the protocol is interactive.
Running pre-configured hardware nodes like Start9 Embassy, Nodl, Raspiblitz or Umbrel is relatively easy way to get there.
Another way is to host your lightning node on a VPS server online, similar you would host your website.
Yea if you are looking to take lightning payments having your own node is ideal. probably you wouldnt run it on heroku but you could run the code that interacts with your node on heroku easily. Unfortunately I can't point you to a working application of this but generally all you need the program to do is generate a lightning invoice in the amount the user needs to pay and then send that to the users endpoint. It should be relatively simple. Only security feature might be anti-spam so people dont flood the node with requests for invoices. Checking for payments is a bit more tricky i suppose, for that you will need to assign users to their invoices in a way that you can depend upon.