Generate a Lightning payment receipt from a BOLT11 or BOLT12 (lni1…) invoice and its 32-byte payment preimage. Invoice details and the payment proof are processed locally in the browser. Shared links include both the invoice and preimage.
BOLT12 receipts display the invoice amount, description, creation date, payment hash, and signing public key. The invoice signature is verified using the BOLT12 specification before displaying the receipt. Uppercase invoices and + continuation separators are supported. Offers (lno1…) and invoice requests (lnr1…) are not payment invoices; use the resulting lni1… invoice. Expired invoices can still be used to verify historical payments.
VSCode + Volar (and disable Vetur).
TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.
See Vite Configuration Reference.
npm installnpm run devnpm run buildRun Unit Tests with Vitest
npm run test:unit # single run
npm run test:unit:dev # watch modeRun End-to-End Tests with Playwright
npx playwright install chromium # first time only
npm run test:e2e # headless run (builds and serves the app automatically)
npm run test:e2e:dev # interactive UI modeLint with ESLint
npm run lint