Summary
Produce a signed Bitmark Android APK. Almost all the work is already in this repo (inherited from upstream Electrum 4.x): the QML mobile GUI and the complete Android build pipeline. This is mostly build-system wrangling + Bitmark-specific tweaks, not new wallet code.
What's already here
electrum/gui/qml/ — the QML mobile GUI (Electrum 4.x's mobile UI; ~35 components, android_res, java_classes). Already Bitmark-aware, already speaks to ElectrumX.
contrib/android/ — the full Android build pipeline: buildozer_qml.spec, make_apk.sh, build.sh, a Dockerfile (reproducible), p4a_recipes, NDK fetch scripts, barcode scanner. This is the same machinery upstream uses to ship official APKs.
So the wallet logic, the mobile UI, and the build system are done — the task is operational.
Scope / tasks
- Get the APK build green via
contrib/android/ (Docker-based). The fiddly part: buildozer / python-for-android / NDK, plus native builds (secp256k1, cryptography). Solved problem upstream, but expect toolchain wrangling the first time.
- Bitmark tweaks:
- app id + name + BTMK branding/icon
- default server(s):
electrum.bitmark.rocks:50002 (SSL), or a server list
- disable SegWit / force legacy-only — mobile would otherwise generate unsafe
btm1... addresses (Bitmark is pre-SegWit). Same fix the desktop needs.
- Sign + distribute: direct APK download or F-Droid (Google Play is hostile to crypto wallets).
Out of scope (for now)
- iOS — no scaffolding here; Electrum doesn't officially support iOS (QML-on-iOS is painful). Separate, large effort.
Notes
- The Android build is Dockerized -> reproducible, matching the project's reproducible-build approach (cf. daemon build).
- Depends on the legacy-only / disable-SegWit fix — that change benefits desktop and mobile at once, so worth doing first.
Effort
A few days for a first signed APK, almost entirely build-toolchain work. The code is free.
References
Summary
Produce a signed Bitmark Android APK. Almost all the work is already in this repo (inherited from upstream Electrum 4.x): the QML mobile GUI and the complete Android build pipeline. This is mostly build-system wrangling + Bitmark-specific tweaks, not new wallet code.
What's already here
electrum/gui/qml/— the QML mobile GUI (Electrum 4.x's mobile UI; ~35 components,android_res,java_classes). Already Bitmark-aware, already speaks to ElectrumX.contrib/android/— the full Android build pipeline:buildozer_qml.spec,make_apk.sh,build.sh, aDockerfile(reproducible),p4a_recipes, NDK fetch scripts, barcode scanner. This is the same machinery upstream uses to ship official APKs.So the wallet logic, the mobile UI, and the build system are done — the task is operational.
Scope / tasks
contrib/android/(Docker-based). The fiddly part: buildozer / python-for-android / NDK, plus native builds (secp256k1, cryptography). Solved problem upstream, but expect toolchain wrangling the first time.electrum.bitmark.rocks:50002(SSL), or a server listbtm1...addresses (Bitmark is pre-SegWit). Same fix the desktop needs.Out of scope (for now)
Notes
Effort
A few days for a first signed APK, almost entirely build-toolchain work. The code is free.
References
electrum/gui/qml/contrib/android/(buildozer_qml.spec,make_apk.sh,Dockerfile)