[BREAKGLASS] Append-only mirror of github.com/btcpayserver/app
Go to file
2025-06-12 19:47:07 -05:00
.github/workflows Create pre-releases for master only 2025-05-08 11:33:02 +02:00
.run MAUI updates 2025-01-28 20:31:58 +01:00
BTCPayApp.Core added invoice paid with successful nfc payment since this happens outside the iframe. 2025-06-12 19:47:07 -05:00
BTCPayApp.Desktop Refactor EmailService for use in desktop/server apps 2025-05-30 09:34:33 +02:00
BTCPayApp.Maui added invoice paid with successful nfc payment since this happens outside the iframe. 2025-06-12 19:47:07 -05:00
BTCPayApp.Photino Logging unifications 2025-03-21 14:05:53 +01:00
BTCPayApp.Server added invoice paid with successful nfc payment since this happens outside the iframe. 2025-06-12 19:47:07 -05:00
BTCPayApp.Tests Fix build and test 2025-05-02 10:19:09 +02:00
BTCPayApp.UI added invoice paid with successful nfc payment since this happens outside the iframe. 2025-06-12 19:47:07 -05:00
BTCPayServer.Plugins.App Improve app state logging 2025-05-21 11:28:40 +02:00
submodules login user with pos qr code and set to cashier mode - issue #212 2025-06-06 08:55:27 -05:00
.dockerignore init 2023-05-23 15:07:44 +02:00
.gitignore impl: copy invoice id to clipboard on invoice detail page (https://github.com/btcpayserver/app/issues/53) 2025-05-02 10:18:51 +02:00
.gitmodules Update BTCPay Server 2024-05-17 17:39:56 +02:00
btcpayapp.keystore Add keystore for MAUI build 2025-02-19 15:35:37 +01:00
BTCPayApp.sln added v1 logs to settings 2025-03-18 18:37:31 -07:00
build-plugin.sh Add script for building the plugin 2025-04-16 10:27:53 +02:00
Fundamentals.md add fundamentals.md 2024-09-26 13:13:28 +02:00
global.json close modal when exiting qr code scanner mode with back button. 2025-05-04 23:36:18 -05:00
LICENSE Initial commit 2023-05-18 14:27:35 +02:00
README.md README: Add note about Sunmi V2s device 2025-04-24 10:34:33 +02:00
setup.ps1 login user with pos qr code and set to cashier mode - issue #212 2025-06-06 08:55:27 -05:00
setup.sh Clean up project files and setup script 2025-02-20 11:59:08 +01:00

BTCPay App

Setup for development

Here's what needs to happen to run the app in the browser:

# Clone the app repo
git clone git@github.com:btcpayserver/app.git

# Switch to it
cd app

# Run the setup script
./setup.sh

# Go to the server submodule
cd submodules/btcpayserver/BTCPayServer.Tests

# Run the server
docker-compose up dev

Now you can open up the IDE and run DEV ALL profile which builds both the App and the BTCPay Server.

The app should open in the browser and you should see the Welcome screen. Click the Connect button, use http://localhost:14142 as the server URL and an existing account for the server.

Lightning Channels

To establish channels for local testing, you can use the Docker Lightning CLI scripts like this:

# The scripts are inside the submodule's test directory
cd submodules/btcpayserver/BTCPayServer.Tests

# Run the general channel setup for the BTCPay LN nodes
./docker-lightning-channel-setup.sh

Besides establishing channel connections between the various BTCPay LN testing nodes, this will also give you their node URIs.

Create channel

  • App: Go to the Lightning Channels view and connect to one of the peer node URIs from the comand above
  • App: Open Channel to that peer
  • CLI: Run ./docker-bitcoin-generate.sh 5
  • App: Refresh the Lightning Channels view and see if the channel got confirmed
  • App: Go to the Send view and see if your Lightning local/outbound capacity is present

Send payment

  • CLI: Generate an invoice with the peer script, e.g. ./docker-customer-lncli.sh addinvoice --amt 10000
  • App: Pay the Lightning invoice on the Send view

Troubleshooting

Development certificates

After the first run of DEV ALL on a Linux machine with a new .NET setup, you may run into the dotnet dev-certs - Untrusted Root error, and you may find a solution at the following link

GrapheneOS

If you are using GrapheneOS for the Android development, make sure to explicitely enable code debugging. To run the app with debugger attached, the BTCPay app needs to get explicitely set as debug app in Settings > System > Developer Settings > Debugging > Set Debug App.

Sunmi V2s

To enable developer mode on the POS device, go to Settings > About device and tap the Build number list item seven times. It will conmfirm "You are now a developer" and afterwards you will find Settings > System > Developer options being present. There you can turn on USB debugging and select BTCPay app for debugging.