docs: QR/audio will transfer + Android reader companion notes

This commit is contained in:
2026-09-09 08:43:39 -04:00
parent b3624fef1c
commit 10552c6f93
4 changed files with 281 additions and 15 deletions

View File

@@ -26,7 +26,8 @@ bal/ the installable Electrum plugin package
│ ├── willexecutors.py
│ ├── checkalive.py
│ ├── reminders.py
│ ├── qrtransfer.py QR will-transfer wire format / chunk scheduler
│ ├── qrtransfer.py BAL QR will-transfer wire format / chunk scheduler
│ ├── animated_qr.py BC-UR v1/v2 + BBQR codecs (stdlib-only)
│ └── input_rules.py
├── cli/ headless command-line layer (no Qt)
│ ├── commands.py bal_* daemon commands (@plugin_command)
@@ -97,7 +98,19 @@ export offers All / Valid / Valid-NC filters plus a QR size preset
one at a time, then proposes exporting the signed transactions. When
Electrum's `audio_modem` plugin is enabled (optional, requires `amodem` +
PortAudio) Send/Receive audio buttons complement the QR channel. See
[`PLAN_QR_TRANSFER.md`](PLAN_QR_TRANSFER.md) for the full wire-format spec.
[`PLAN_QR_TRANSFER.md`](PLAN_QR_TRANSFER.md) for the BAL QR wire-format spec.
### Animated-QR formats (interop)
BAL QR is the default export format, but the export page's **Format** selector
also emits **BC-UR v1** (`ur:bytes`, BC32 + SHA-256), **BC-UR v2**
(`ur:bytes`, CBOR fountain codes) and **BBQR** (`B$…`, Coinkite, used by
BitKit) animated-QR sequences. The importer auto-detects the format of each
code it sees, so any of the four formats can be imported on a BAL device, and
a BAL export can be imported by any tool that understands these standards.
UR v2 imports tolerate out-of-order and duplicate frames (fountain decoding);
BBQR frames may arrive in any order. Rotation/redundancy caps and the
32 MB message limit (zlib-bomb guard) bound untrusted scanner input.
## Command-line / headless usage
@@ -195,6 +208,15 @@ QT_QPA_PLATFORM=offscreen python3 tests/smoke_test.py electrum.plugins.bal
QT_QPA_PLATFORM=offscreen python3 tests/external_zip_test.py bal-electrum-plugin.zip
```
## Companion: Android reader
The `android/` subfolder contains **BAL Reader**, a simple Android app that
reads the QR wills this plugin exports (BAL QR, BC-UR v1/v2, BBQR) straight
from the screen with your phone — view, copy, share, or save the recovered
will. It reuses the plugin's own QR codecs via Chaquopy (the very Python
modules that power the desktop import), so decoding behaviour is identical.
See [`android/README.md`](android/README.md).
## ⚠️ Safety
This plugin builds real Bitcoin inheritance transactions with time-locks. Test