Author

Topic: LNURLPoS - DIY Lightning Network PoS (Read 162 times)

hero member
Activity: 1568
Merit: 544
October 26, 2021, 01:22:17 PM
#3
How does the PoS device then get the invoice if it doesn't have internet?

Check out the github page   Smiley
"The burden of connectivity can be taken away from the point-of-sale and given to the phone." 
hero member
Activity: 882
Merit: 5818
not your keys, not your coins!
October 20, 2021, 10:35:05 AM
#2
How does the PoS device then get the invoice if it doesn't have internet? Does the buyer basically request the invoice from the server using their own internet connection, by scanning a code that the PoS generates and displays? So the PoS terminal is kind of an offline, well, terminal, for a Lightning node running somewhere... pretty cool Shocked
legendary
Activity: 2212
Merit: 7064
Cashback 15%
October 15, 2021, 03:25:07 PM
#1
Arcbtc made interesting completely offline Bitcoin Lightning Network point of sale device for around $10 using simple TTGO T-display device with keypad membrane.
LNURLPoS uses the LNURL-pay protocol that allows lightning wallet to make a secure request to a server to get a lightning-network invoice, with bech32 encoded URL string.
Interesting thing that I like about this project is that it doesn't need internet connection and if you add battery you don't even need to have direct power connection.
 
Hardware needed:
- ESP32 TTGO T-Display (around $10)
- Keypad membrane (around 1$)
- Angled male/male GPIO pins (around $7)
- 3d printed case

Arduino software install:
- Download/install latest Arduino IDE
- Install ESP32 boards
- Copy libraries into Arduino IDE library folder
- Plug in T-Display, from Tools>Board>ESP32 Boards select TTGO LoRa32 OLED V1


Source: https://github.com/arcbtc/LNURLPoS

Video Tutorial:
https://youtu.be/ofCv2cHZ5b0

Watching this tutorial you can find one more interesting open source project called Bleskomat that is using same LNURL-pay protocol for next generation offline Bitcoin Lightning ATM device, that is using shared secret to encrypt data.
Jump to: