April 7, 2022
18 XMR
28 contributors
HotShop - a browser-based, ephemeral, no-server point of sale
who Hello, it's me, your great-grandfather CryptoGrampy. You might know me on Twitter as @CryptoGrampy or from my work on the Monerod-on-Termux Android script, the Android PocketNode(tm), the Monero Drag n' Drop Electron app or from Friday morning bridge club in the cafeteria.
what is this Monero is really lacking in the physical Point of Sale department. Let's fix that.
The HotShop will be a simple to use webapp with a simple aesthetic and UI similar to Kasisto (RIP) and POS.cash that can be accessed from just about any web browser (on mobile or desktop) with a slight amount of user customization (company name/image, etc).
You will be able to hit HotShop.cryptogrampy.com, enter your payment details, type in the desired XMR (optionally USD if you allow that API request) amount… a QR code and address will display, and the UI will update (payment confirmation progress as well) immediately when someone has paid the correct amount.
No hosting, private spend keys, personal servers/VPS's or payment gateways will be required. The app will be able to be added to any free web host- Github pages, etc and available for anyone to use because the magic happens in your browser (you'll be able to self-host it if you want) Users will need provide the app with their primary and view keys (no spend key involved!) on the client side (this info does NOT get sent to the server) and they will specify a remote Monero node of their choice.
The tech stack will be something like: Monero-Javascript, Vue3, and Typescript.
You'll be able to set this up at a garage sale, coffee shop, with your friends, etc and generate fresh/unused payment addresses displayed as QR codes. In the settings, you'll set your desired number of confirmations (or do zero conf!), point it at a remote Monero node of your choice, and be able to collect payments and immediately validate that they were received/watch them as they get confirmed.
You'll be able to bookmark a link on your phone/browsers that contain all of the credentials necessary to start up the POS or have a QR code on a card containing a special link in your wallet… Just scan it with any device- your friend's phone, the library computer, the ipad at your store, and Boom! you have an instant Point of Sale.
Who does this benefit? Why do I need this when I can just use a mobile wallet?
Also… Need yet another payment gateway? The code for this will be written in a clean way that could be used in a NodeJS server or as a different front end implementation via simple exposed methods for instantiating the gateway, creating new payment requests and verifying payments. If I have enough time, I will publish this portion of the code separately, and ideally as an npm library.
what does this not do
potential reach ideas
milestones 1st milestone - Coding up the basic payment portion in a nice/clean way, publishing a mostly bug-free, minimal version for testing user setting import and payments 2nd milestone - Publish first draft of the POS interface (will be responsive), getting feedback from testers 3rd milestone - Publish functioning POS to Github pages, etc, create documentation/video demo for use and self-hosting
amount I estimate that this will take about 4 to 5 weeks of mostly full time work and I am asking for 18 XMR.
expiration I will be working on this in the evenings and weekends but expect to have this complete within 4-8 months.
View community discussion, comments, and proposal updates on GitLab
To be paid: 0
Completion date: 29 May 2022
To be paid: 8
Completion date: 29 May 2022
To be paid: 10
Completion date: 27 May 2023
Funds Awarded: 8
Date: 1 June 2022
Funds Awarded: 10
Date: 7 June 2023