Giter Club home page Giter Club logo

lnpos's Introduction

LNPoS

Free and open-source bitcoin point-of-sale

LNPoS includes:

  • LNPoS (for online LN payments, original project)

  • LNURLPoS (for offline LN payments, original project )

  • OnChain (for onchain payments)

  • LNURLATM (for making offline LN withdraw links).

    What you need:

  • The Lilygo Tdisplay is a cheap and small ESP32/screen development board.

  • You can either attach a keypad membrane or use the breakout board Lilygo specifically made for the LNURLPoS!

  • Any 3.7V lithium iron flat battery with 1.25mm JST connector should be fine. Go for at least 1000 mAh. If you want the battery to fit inside the breakout board, max. dimensions are 40x52x11mm. Example 1100 mAh 3.7V battery.

Original demo

Video tutorial https://twitter.com/arcbtc/status/1585605023337168896

Join our telegram group MakerBits

Configuring

Go to settings to lanch USB config mode or wifi access point If using access opint the device SSID default password is "ToTheMoon1"

LNPoS – Online Lightning Network payments

Invoices are generated and checked from LNbits install.

Setting up

WiFi Access Point config

Launch portal and enter an LNbits endpoint (ie.legend.lnbits.com), invoice key, and a fiat currency to make things easier for product pricing.

LNURLPoS – Offline Lightning Network payments

A random pin generated on the device is encrypted and passed trough the payee. When the payment has been made the unencrypted pin is sent as a receipt. This function makes use of LNURL-pay protocol. Uses LNbits LNURLDevice extension.

Setting up

Launch portal and enter the string from the LNURLDevice extension on LNbits

OnChain – Generate fresh addresses using an xPub

Use an xPub to generate a fresh address for every payment. Useful for large purchases. Includes a mempool.space QR so the payment can be verified.

Setting up

Launch portal and enter BIP39 xPub and a pin, to make the function secure.

LNURLATM – Meatbag ATM, give refunds, accept cash for sats.

Create withdraw/faucet links. Uses more-or-les. This function makes use of LNURL-withdraw protocol. Uses LNbits LNURLDevice extension.

Setting up

Launch portal and enter the string from the LNURLDevice extension on LNbits



Software installation:

  • Install Arduino IDE 1.8.19

  • Install ESP32 boards, using boards manager

  • Role back ESP32 boards to 2.0.1 in boards manager image

  • Download this repo

  • Copy these libraries into your Arduino install "libraries" folder

  • Open this LNPoSTdisplay.ino file in the Arduino IDE

  • Select "TTGO-LoRa32-OLED-V1" from tools>board

  • Upload to device

Press/hold any button on the keypad during startup to launch portal. Default password is "ToTheMoon1" (without the quotes)

Note: If using MacOS, you will need the CP210x USB to UART Bridge VCP Drivers available here https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers If you are using MacOS Big Sur or an Mac with M1 chip, you might encounter the issue A fatal error occurred: Failed to write to target RAM (result was 0107), this is related to the chipsest used by TTGO, you can find the correct driver and more info in this GitHub issue

lnpos's People

Contributors

alanbits avatar arbadacarbayk avatar arcbtc avatar bavarianledger avatar blackcoffeexbt avatar candlehater avatar dennisreimann avatar dni avatar fabu21 avatar michael34435 avatar motorina0 avatar openoms avatar sparrowhawk1337 avatar stadicus avatar therealfuture42 avatar thomasfarstrike avatar vnnkl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.