Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required.

Overview

BITCOIN WALLET

Welcome to Bitcoin Wallet, a standalone Bitcoin payment app for your Android device!

This project contains several sub-projects:

  • wallet: The Android app itself. This is probably what you're searching for.
  • market: App description and promo material for the Google Play app store.
  • integration-android: A tiny library for integrating Bitcoin payments into your own Android app (e.g. donations, in-app purchases).
  • sample-integration-android: A minimal example app to demonstrate integration of Bitcoin payments into your Android app.

PREREQUISITES FOR BUILDING

You'll need git, a Java 8 or 11 SDK and Gradle 4.4 (or later) for this. We'll assume Ubuntu 20.04 LTS (Focal Fossa) for the package installs, which comes with OpenJDK 8, OpenJDK 11 and Gradle 4.4.1 out of the box.

# first time only
sudo apt install git gradle openjdk-8-jdk

Create a directory for the Android SDK (e.g. android-sdk) and point the ANDROID_HOME variable to it.

Download the Android SDK Tools and unpack it to $ANDROID_HOME/.

Finally, the last preparative step is acquiring the source code. Again in your workspace, use:

# first time only
git clone -b master https://github.com/bitcoin-wallet/bitcoin-wallet.git bitcoin-wallet
cd bitcoin-wallet

BUILDING

You can build all sub-projects in all flavors at once using Gradle:

# each time
gradle clean build

For details about building the wallet see the specific README.

Comments
  • BIP 72 Support

    BIP 72 Support

    bitcoin-wallet does not properly support BIP 72.

    Quoting the BIP: https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki

    If the "r" parameter is provided and backwards compatibility is not required, then the bitcoin address portion of the URI may be omitted (the URI will be of the form: bitcoin:?r=... ).

    When Bitcoin wallet software that supports this BIP receives a bitcoin: URI with a request parameter, it should ignore the bitcoin address/amount/label/message in the URI and instead fetch a PaymentRequest message and then follow the payment protocol, as described in BIP 70.

    bitcoin-wallet reports "Fetching signature failed: wrong signature!" instead of generating the requested payment when presented with a valid BIP 72 link.

    Here's the test case: https://www.syndicoin.co/demo.html

    There are three test payment requests on that page. None of them load correctly using the BIP 72 link, but they do load correctly when downloaded and opened directly.

    Thanks for your efforts!

    Edit to add:

    This bug is perhaps illustrated best by the text I've written explaining the workaround for users of bitcoin-wallet:

    ... you must use the "download" link and then open the payment request from your downloaded files. To scan a QR code into bitcoin wallet is also cumbersome. You must first scan the download QR code using a scanner outside bitcoin-wallet. Then, once the file is downloaded, tap it to launch bitcoin-wallet and pay it.

    opened by haight6716 39
  • "Raise network fee" too aggressive

    Yesterday I sent a transaction with "Economic" fee. The transaction was 226 bytes and Bitcoin Wallet computed a fee of 0.05 mBTC, about $0.30, or 22 satoshi/byte. According to https://bitcoinfees.21.co/, this fee is way too low. Anything below 100 sat/byte might take days to go through, or never clear at all.

    So today I tried bumping the fee with the "Raise network fee" function, but this time the computed value is way too high: 0.94 mBTC, or 415 satoshi/byte. This is equivalent to $5.64.

    I think there are two separate fee estimation bugs here, but I wouldn't mind the Economic fee being too aggressively economic if I could bump the fee a bit at a time until the transaction finally clears.

    opened by codewiz 38
  • App crashes after 1 minute of black screen.

    App crashes after 1 minute of black screen.

    I havent used Bitcoin Wallet for a while, now when I try to start it it crashes after 1 minute. The first 10 seconds the screen goes white with the bitcoin wallet icon on top of the screen. Then it goes black with only the standard android top icons visible. After another 50 seconds it crashes.

    Is there a logcat filter I can apply to only extract bitcoin wallet related output? Below is an extract from logcat:

    I/BlockchainServiceImpl(12075): [main] network is up I/BlockchainServiceImpl(12075): [main] starting peergroup I/ExchangeRatesProvider(12075): [AsyncTask #3] fetched exchange rates from https://api.bitcoinaverage.com/custom/abw (null), 4476 chars, took 838 ms I/wpa_supplicant( 2588): wlan0: CTRL-EVENT-SCAN-STARTED W/ActivityManager( 2311): Timeout executing service: ServiceRecord{4291e108 u0 de.schildbach.wallet/.service.BlockchainServiceImpl} I/Process ( 2311): Sending signal. PID: 12075 SIG: 3 I/dalvikvm(12075): threadid=3: reacting to signal 3 I/dalvikvm(12075): Wrote stack traces to '/data/anr/traces.txt' I/Process ( 2311): Sending signal. PID: 2311 SIG: 3 I/dalvikvm( 2311): threadid=3: reacting to signal 3 E/Sensors ( 2311): poll() failed (Interrupted system call) I/dalvikvm( 2311): Wrote stack traces to '/data/anr/traces.txt' I/Process ( 2311): Sending signal. PID: 2768 SIG: 3 I/Process ( 2311): Sending signal. PID: 2757 SIG: 3 I/dalvikvm( 2757): threadid=3: reacting to signal 3 I/dalvikvm( 2768): threadid=3: reacting to signal 3 I/dalvikvm( 2757): Wrote stack traces to '/data/anr/traces.txt' I/Process ( 2311): Sending signal. PID: 2749 SIG: 3 I/dalvikvm( 2749): threadid=3: reacting to signal 3 I/dalvikvm( 2768): Wrote stack traces to '/data/anr/traces.txt' I/Process ( 2311): Sending signal. PID: 2741 SIG: 3 I/dalvikvm( 2741): threadid=3: reacting to signal 3 I/dalvikvm( 2749): Wrote stack traces to '/data/anr/traces.txt' I/Process ( 2311): Sending signal. PID: 2600 SIG: 3 I/dalvikvm( 2600): threadid=3: reacting to signal 3 I/dalvikvm( 2741): Wrote stack traces to '/data/anr/traces.txt' I/dalvikvm( 2600): Wrote stack traces to '/data/anr/traces.txt' I/Process ( 2311): Sending signal. PID: 12075 SIG: 6 F/libc (12075): Fatal signal 6 (SIGABRT) at 0x00000907 (code=0), thread 12075 (hildbach.wallet) E/ActivityManager( 2311): ANR in de.schildbach.wallet E/ActivityManager( 2311): PID: 12075 E/ActivityManager( 2311): Reason: Executing service de.schildbach.wallet/.service.BlockchainServiceImpl E/ActivityManager( 2311): Load: 1.01 / 0.79 / 0.97 E/ActivityManager( 2311): CPU usage from 14870ms to 0ms ago: E/ActivityManager( 2311): 99% 12075/de.schildbach.wallet: 97% user + 1.2% kernel / faults: 7799 minor E/ActivityManager( 2311): 7.2% 2600/com.android.systemui: 5% user + 2.2% kernel / faults: 11 minor E/ActivityManager( 2311): 4% 1905/surfaceflinger: 1.8% user + 2.2% kernel E/ActivityManager( 2311): 1.1% 2311/system_server: 0.5% user + 0.6% kernel / faults: 16 minor E/ActivityManager( 2311): 0.8% 4748/com.freephoo.android: 0.2% user + 0.6% kernel / faults: 40 minor E/ActivityManager( 2311): 0.3% 5/kworker/u:0: 0% user + 0.3% kernel E/ActivityManager( 2311): 0% 11336/kworker/u:1: 0% user + 0% kernel E/ActivityManager( 2311): 0.2% 7764/kworker/0:0: 0% user + 0.2% kernel E/ActivityManager( 2311): 0.1% 748/s3c-fb-vsync: 0% user + 0.1% kernel E/ActivityManager( 2311): 0.1% 2570/dhd_dpc: 0% user + 0.1% kernel E/ActivityManager( 2311): 0% 1013/kworker/u:2: 0% user + 0% kernel E/ActivityManager( 2311): 0% 1913/gpsd: 0% user + 0% kernel E/ActivityManager( 2311): 0% 2569/dhd_watchdog_th: 0% user + 0% kernel E/ActivityManager( 2311): 0% 2588/wpa_supplicant: 0% user + 0% kernel E/ActivityManager( 2311): 0% 2741/com.android.phone: 0% user + 0% kernel / faults: 6 minor E/ActivityManager( 2311): 0% 3811/com.facebook.katana: 0% user + 0% kernel E/ActivityManager( 2311): 37% TOTAL: 35% user + 2.2% kernel E/ActivityManager( 2311): CPU usage from 2334ms to 2855ms later: E/ActivityManager( 2311): 100% 12075/de.schildbach.wallet: 100% user + 0% kernel / faults: 402 minor E/ActivityManager( 2311): 59% 12075/hildbach.wallet: 59% user + 0% kernel E/ActivityManager( 2311): 38% 12079/GC: 38% user + 0% kernel E/ActivityManager( 2311): 5.7% 2600/com.android.systemui: 1.9% user + 3.8% kernel E/ActivityManager( 2311): 3.8% 2600/ndroid.systemui: 1.9% user + 1.9% kernel E/ActivityManager( 2311): 1.9% 2701/ndroid.systemui: 0% user + 1.9% kernel E/ActivityManager( 2311): 3.8% 1905/surfaceflinger: 0% user + 3.8% kernel E/ActivityManager( 2311): 1.9% 2014/DispSync: 1.9% user + 0% kernel E/ActivityManager( 2311): 3.8% 2311/system_server: 0% user + 3.8% kernel E/ActivityManager( 2311): 3.8% 2345/ActivityManager: 0% user + 3.8% kernel E/ActivityManager( 2311): 1.9% 2736/IPC Thread: 0% user + 1.9% kernel E/ActivityManager( 2311): 39% TOTAL: 34% user + 5.1% kernel W/DropBoxManagerService( 2311): Dropping: data_app_anr (1505 > 0 bytes) I/DEBUG ( 1903): *** *** *** *** *** *** *** *** *** *** *** *** *** *** ** *** I/DEBUG ( 1903): Build fingerprint: 'samsung/m0xx/m0:4.3/JSS15J/I9300XXUGMJ9:user/release-keys' I/DEBUG ( 1903): Revision: '12' I/DEBUG ( 1903): pid: 12075, tid: 12075, name: hildbach.wallet >>> de.schildbach.wallet <<< I/DEBUG ( 1903): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- I/DEBUG ( 1903): r0 5d5eb710 r1 0000001c r2 00000005 r3 45000000 I/DEBUG ( 1903): r4 588bc294 r5 4154fb98 r6 400be4a8 r7 00000439 I/DEBUG ( 1903): r8 41609c00 r9 588bc25e sl 00000000 fp e2c9435c I/DEBUG ( 1903): ip 00000039 sp bea295a8 lr 00000000 pc 4160aa40 cpsr 200b0010 I/DEBUG ( 1903): d0 0000000000000000 d1 0000000000000000 I/DEBUG ( 1903): d2 0000000000000000 d3 0000000000000000 I/DEBUG ( 1903): d4 0000000042c00000 d5 000000003f000000 I/DEBUG ( 1903): d6 4befbfa000004000 d7 42c8000000000001 I/DEBUG ( 1903): d8 0000000000000000 d9 0000000000000000 I/DEBUG ( 1903): d10 0000000000000000 d11 0000000000000000 I/DEBUG ( 1903): d12 0000000000000000 d13 0000000000000000 I/DEBUG ( 1903): d14 0000000000000000 d15 0000000000000000 I/DEBUG ( 1903): d16 0000000000004000 d17 0000000000000001 I/DEBUG ( 1903): d18 0000000000000000 d19 0000000000000001 I/DEBUG ( 1903): d20 0000000000004000 d21 0000000000000000 I/DEBUG ( 1903): d22 0000000000004000 d23 0000000000000001 I/DEBUG ( 1903): d24 0000000000000000 d25 ffffffffffffffff I/DEBUG ( 1903): d26 ffffffffffffffff d27 ffffffffffffffff I/DEBUG ( 1903): d28 0000000000000000 d29 0000000000000020 I/DEBUG ( 1903): d30 0000000000ffffff d31 000000001f000021 I/DEBUG ( 1903): scr 20000010 I/DEBUG ( 1903): I/DEBUG ( 1903): backtrace: I/DEBUG ( 1903): #00 pc 0001fa40 /system/lib/libdvm.so I/DEBUG ( 1903): #01 pc 0002f418 /system/lib/libdvm.so (dvmMterpStd(Thread_)+76) I/DEBUG ( 1903): #02 pc 0002cabc /system/lib/libdvm.so (dvmInterpret(Thread_, Method const_, JValue_)+184) I/DEBUG ( 1903): #03 pc 00061e05 /system/lib/libdvm.so (dvmInvokeMethod(Object_, Method const_, ArrayObject_, ArrayObject_, ClassObject_, bool)+392) I/DEBUG ( 1903): #04 pc 00069fc3 /system/lib/libdvm.so I/DEBUG ( 1903): #05 pc 00027f20 /system/lib/libdvm.so I/DEBUG ( 1903): #06 pc 0002f418 /system/lib/libdvm.so (dvmMterpStd(Thread_)+76) I/DEBUG ( 1903): #07 pc 0002cabc /system/lib/libdvm.so (dvmInterpret(Thread_, Method const_, JValue_)+184) I/DEBUG ( 1903): #08 pc 00061b23 /system/lib/libdvm.so (dvmCallMethodV(Thread_, Method const_, Object_, bool, JValue_, std::va_list)+338) I/DEBUG ( 1903): #09 pc 0004b287 /system/lib/libdvm.so I/DEBUG ( 1903): #10 pc 00052713 /system/lib/libandroid_runtime.so I/DEBUG ( 1903): #11 pc 00053437 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const, char const)+354) I/DEBUG ( 1903): #12 pc 0000105b /system/bin/app_process I/DEBUG ( 1903): #13 pc 0000e423 /system/lib/libc.so (libc_init+50) I/DEBUG ( 1903): #14 pc 00000d7c /system/bin/app_process I/DEBUG ( 1903): I/DEBUG ( 1903): stack: I/DEBUG ( 1903): bea29568 00000000
    I/DEBUG ( 1903): bea2956c 00000000
    I/DEBUG ( 1903): bea29570 00000000
    I/DEBUG ( 1903): bea29574 de38a218
    I/DEBUG ( 1903): bea29578 415cc760
    I/DEBUG ( 1903): bea2957c 416af9e8 /dev/ashmem/dalvik-zygote (deleted) I/DEBUG ( 1903): bea29580 4154fbc0
    I/DEBUG ( 1903): bea29584 41698c6c /system/lib/libdvm.so I/DEBUG ( 1903): bea29588 00000922
    I/DEBUG ( 1903): bea2958c 41609c00 /system/lib/libdvm.so I/DEBUG ( 1903): bea29590 5eab3a08 /dev/ashmem/dalvik-aux-structure (deleted) I/DEBUG ( 1903): bea29594 41641deb /system/lib/libdvm.so (dvmAllocObject+14) I/DEBUG ( 1903): bea29598 5f78f9e8 /data/dalvik-cache/data@[email protected]@classes.dex I/DEBUG ( 1903): bea2959c 4154fbc0
    I/DEBUG ( 1903): bea295a0 400be4a8
    I/DEBUG ( 1903): bea295a4 4160a4b4 /system/lib/libdvm.so I/DEBUG ( 1903): #00 bea295a8 0000092a
    I/DEBUG ( 1903): bea295ac 400be4a8
    I/DEBUG ( 1903): bea295b0 4161a3cc /system/lib/libdvm.so (dvmMterpStd(Thread
    )) I/DEBUG ( 1903): bea295b4 00000000
    I/DEBUG ( 1903): bea295b8 bea29698 [stack] I/DEBUG ( 1903): bea295bc 400be4a8
    I/DEBUG ( 1903): bea295c0 bea295fc [stack] I/DEBUG ( 1903): bea295c4 578a7538 /dev/ashmem/dalvik-LinearAlloc (deleted) I/DEBUG ( 1903): bea295c8 41bcf054 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 1903): bea295cc 4161a41c /system/lib/libdvm.so (dvmMterpStd(Thread
    )+80) I/DEBUG ( 1903): #01 bea295d0 2f617661
    I/DEBUG ( 1903): bea295d4 676e616c
    I/DEBUG ( 1903): bea295d8 7274532f
    I/DEBUG ( 1903): bea295dc 3b676e69
    I/DEBUG ( 1903): bea295e0 40005629 /data/dalvik-cache/system@[email protected]@classes.dex I/DEBUG ( 1903): bea295e4 4169d2c8 /system/lib/libdvm.so I/DEBUG ( 1903): bea295e8 4161a3cc /system/lib/libdvm.so (dvmMterpStd(Thread_)) I/DEBUG ( 1903): bea295ec 41617ac0 /system/lib/libdvm.so (dvmInterpret(Thread_, Method const_, JValue
    )+188) I/DEBUG ( 1903): #02 bea295f0 00000050
    I/DEBUG ( 1903): bea295f4 41af9008 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 1903): bea295f8 00000000
    I/DEBUG ( 1903): bea295fc 5981e10c /data/dalvik-cache/system@[email protected]@classes.dex I/DEBUG ( 1903): bea29600 4154fec4
    I/DEBUG ( 1903): bea29604 577d06d0 /dev/ashmem/dalvik-LinearAlloc (deleted) I/DEBUG ( 1903): bea29608 41557000 /dev/ashmem/dalvik-aux-structure (deleted) I/DEBUG ( 1903): bea2960c 41bcefc0 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 1903): bea29610 de38a218
    I/DEBUG ( 1903): bea29614 bea29730 [stack] I/DEBUG ( 1903): bea29618 00000000
    I/DEBUG ( 1903): bea2961c bea29784 [stack] I/DEBUG ( 1903): bea29620 00000000
    I/DEBUG ( 1903): bea29624 00000000
    I/DEBUG ( 1903): bea29628 00000000
    I/DEBUG ( 1903): bea2962c 00000000
    I/DEBUG ( 1903): ........ ........ I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r0: I/DEBUG ( 1903): 5d5eb6f0 08680165 08c80168 08810169 0858016c
    I/DEBUG ( 1903): 5d5eb700 0838016f 08200171 00000210 0000080b
    I/DEBUG ( 1903): 5d5eb710 0b090d27 01110411 2813271c 16151e1f
    I/DEBUG ( 1903): 5d5eb720 1b110f25 1927041b 0416101e 23241702
    I/DEBUG ( 1903): 5d5eb730 17010212 1d191327 0e161728 0d211c12
    I/DEBUG ( 1903): 5d5eb740 1e121f23 1007160c 25270c12 101e0911
    I/DEBUG ( 1903): 5d5eb750 21041318 0521150a 0f1e281c 2112140c
    I/DEBUG ( 1903): 5d5eb760 10211b1f 1e17131f 030d2806 270c1113
    I/DEBUG ( 1903): 5d5eb770 1f231a0d 151d130b 281b0d21 01282319
    I/DEBUG ( 1903): 5d5eb780 0c1a130b 04062309 03050e1b 25022606
    I/DEBUG ( 1903): 5d5eb790 25060c17 07170c26 1c17110a 021f0d28
    I/DEBUG ( 1903): 5d5eb7a0 25010d22 241b201c 13110817 0c08280a
    I/DEBUG ( 1903): 5d5eb7b0 011b201c 04160c04 0e271616 07260c11
    I/DEBUG ( 1903): 5d5eb7c0 0a021123 09101127 07261224 1f181203
    I/DEBUG ( 1903): 5d5eb7d0 06181010 0c111327 28120526 151f051e
    I/DEBUG ( 1903): 5d5eb7e0 1f061e0e 1d091513 0521071a 0c230327
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r3: I/DEBUG ( 1903): 44ffffe0 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 44fffff0 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000000 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000010 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000020 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000030 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000040 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000050 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000060 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000070 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000080 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 45000090 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 450000a0 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 450000b0 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 450000c0 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): 450000d0 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r4: I/DEBUG ( 1903): 588bc274 003b20f8 010c0021 003620f8 010c0041
    I/DEBUG ( 1903): 588bc284 000710f8 010c0001 097a2070 00270010
    I/DEBUG ( 1903): 588bc294 00070439 1a710062 000c30f7 4023000e
    I/DEBUG ( 1903): 588bc2a4 fb280877 00020007 00000005 0024eb7b
    I/DEBUG ( 1903): 588bc2b4 00000028 10700412 00052478 000a0639
    I/DEBUG ( 1903): 588bc2c4 01220222 3046031a 0a582070 02270032
    I/DEBUG ( 1903): 588bc2d4 26251072 000c0006 000310f8 020c0000
    I/DEBUG ( 1903): 588bc2e4 0877031c 000a3232 21230221 02210877
    I/DEBUG ( 1903): 588bc2f4 0ca05271 10074140 000c50f7 52f50221
    I/DEBUG ( 1903): 588bc304 000e0010 00010003 00000000 0024ebab
    I/DEBUG ( 1903): 588bc314 0000000b 12356112 00130007 0190000c
    I/DEBUG ( 1903): 588bc324 010f0002 010200e1 0000fb28 00020007
    I/DEBUG ( 1903): 588bc334 00000002 0024ebbd 0000004a 001410f8
    I/DEBUG ( 1903): 588bc344 10f80006 0006001f 52f2000a 20350010
    I/DEBUG ( 1903): 588bc354 02220027 032200aa 10700145 00030c38
    I/DEBUG ( 1903): 588bc364 0800041a 003b20f8 030c0043 003620f8
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r5: I/DEBUG ( 1903): 4154fb78 5883a1e4 00000000 43aa7c18 4154fbc0
    I/DEBUG ( 1903): 4154fb88 5f78f9ee 577f94c8 588bc258 00000000
    I/DEBUG ( 1903): 4154fb98 57b6a018 5f6e59e0 5fa8fe31 43aa7c18
    I/DEBUG ( 1903): 4154fba8 00000005 4154fc14 5f78df16 57b359b0
    I/DEBUG ( 1903): 4154fbb8 5f78f9ee 00000000 00000001 5fa93f95
    I/DEBUG ( 1903): 4154fbc8 43059f38 00000001 42d884a0 4154fc08
    I/DEBUG ( 1903): 4154fbd8 5f787f56 57b6a130 4154fc08 43aa7c18
    I/DEBUG ( 1903): 4154fbe8 00000005 00000006 5fa68671 4154fc20
    I/DEBUG ( 1903): 4154fbf8 41f172f0 43a4f7b0 4154fc38 5f7814ec
    I/DEBUG ( 1903): 4154fc08 57b35748 5f78df16 5fa9a5dd 57aec6a8
    I/DEBUG ( 1903): 4154fc18 00000001 41f172f0 43a4f7b0 4154fc5c
    I/DEBUG ( 1903): 4154fc28 5f7850f2 57b366a8 5f7814ec 5faae781
    I/DEBUG ( 1903): 4154fc38 41f172f0 5faae4bd 43a4f7b0 43b91768
    I/DEBUG ( 1903): 4154fc48 4154fc88 5f7872f8 57b75808 5f7850f2
    I/DEBUG ( 1903): 4154fc58 5faae569 5f7872ec 00000000 00000001
    I/DEBUG ( 1903): 4154fc68 00000001 42f80e40 43b91768 4154fcb8
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r6: I/DEBUG ( 1903): 400be488 00000000 00000000 00000000 00000013
    I/DEBUG ( 1903): 400be498 00000000 00000800 400bb008 0000045b
    I/DEBUG ( 1903): 400be4a8 5f70b4f4 4154fb98 577f94c8 41557000
    I/DEBUG ( 1903): 400be4b8 00000000 00000000 bea295a8 00000000
    I/DEBUG ( 1903): 400be4c8 bea295fc 00000001 00000000 41609c00
    I/DEBUG ( 1903): 400be4d8 00000000 00000000 56d95c70 4154a300
    I/DEBUG ( 1903): 400be4e8 00000000 00000000 00000001 00006000
    I/DEBUG ( 1903): 400be4f8 00000000 4018b154 41609c00 4160eb40
    I/DEBUG ( 1903): 400be508 00000000 41612c3c 41612cb0 41612b60
    I/DEBUG ( 1903): 400be518 41612b80 41612bdc 00000000 00000000
    I/DEBUG ( 1903): 400be528 5d5eb710 00000028 5fa9ff11 bea295a8
    I/DEBUG ( 1903): 400be538 5f6df468 00000006 00001b88 4169d9fc
    I/DEBUG ( 1903): 400be548 421ae260 57b36830 00000006 5175b6d8
    I/DEBUG ( 1903): 400be558 00000001 00000080 00000200 00000000
    I/DEBUG ( 1903): 400be568 00000006 5f70b4c4 5f70b4c4 0000000b
    I/DEBUG ( 1903): 400be578 5f70b4de 57b59370 00000000 64dc5a7a
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r8: I/DEBUG ( 1903): 41609be0 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609bf0 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609c00 e1f470b2 e207c0ff e088f30c e92d4ff0
    I/DEBUG ( 1903): 41609c10 e24dd004 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609c20 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609c30 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609c40 e1a01627 e7e30457 e1f470b2 e7952101
    I/DEBUG ( 1903): 41609c50 e207c0ff e7852100 e088f30c e320f000
    I/DEBUG ( 1903): 41609c60 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609c70 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609c80 e1d410b2 e1a00427 e1f470b4 e7952101
    I/DEBUG ( 1903): 41609c90 e207c0ff e7852100 e088f30c e320f000
    I/DEBUG ( 1903): 41609ca0 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609cb0 e320f000 e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 41609cc0 e1d410b4 e1d400b2 e1f470b6 e7952101
    I/DEBUG ( 1903): 41609cd0 e207c0ff e7852100 e088f30c e320f000
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near r9: I/DEBUG ( 1903): 588bc23c 00620001 10f71a71 000e000c 00020005
    I/DEBUG ( 1903): 588bc24c 00000002 0024eb64 00000028 24781070
    I/DEBUG ( 1903): 588bc25c 043b0003 0022001b 0122010a 10700145
    I/DEBUG ( 1903): 588bc26c 00010c38 2e97021a 003b20f8 010c0021
    I/DEBUG ( 1903): 588bc27c 003620f8 010c0041 000710f8 010c0001
    I/DEBUG ( 1903): 588bc28c 097a2070 00270010 00070439 1a710062
    I/DEBUG ( 1903): 588bc29c 000c30f7 4023000e fb280877 00020007
    I/DEBUG ( 1903): 588bc2ac 00000005 0024eb7b 00000028 10700412
    I/DEBUG ( 1903): 588bc2bc 00052478 000a0639 01220222 3046031a
    I/DEBUG ( 1903): 588bc2cc 0a582070 02270032 26251072 000c0006
    I/DEBUG ( 1903): 588bc2dc 000310f8 020c0000 0877031c 000a3232
    I/DEBUG ( 1903): 588bc2ec 21230221 02210877 0ca05271 10074140
    I/DEBUG ( 1903): 588bc2fc 000c50f7 52f50221 000e0010 00010003
    I/DEBUG ( 1903): 588bc30c 00000000 0024ebab 0000000b 12356112
    I/DEBUG ( 1903): 588bc31c 00130007 0190000c 010f0002 010200e1
    I/DEBUG ( 1903): 588bc32c 0000fb28 00020007 00000002 0024ebbd
    I/DEBUG ( 1903): I/DEBUG ( 1903): memory near sp: I/DEBUG ( 1903): bea29588 00000922 41609c00 5eab3a08 41641deb
    I/DEBUG ( 1903): bea29598 5f78f9e8 4154fbc0 400be4a8 4160a4b4
    I/DEBUG ( 1903): bea295a8 0000092a 400be4a8 4161a3cc 00000000
    I/DEBUG ( 1903): bea295b8 bea29698 400be4a8 bea295fc 578a7538
    I/DEBUG ( 1903): bea295c8 41bcf054 4161a41c 2f617661 676e616c
    I/DEBUG ( 1903): bea295d8 7274532f 3b676e69 40005629 4169d2c8
    I/DEBUG ( 1903): bea295e8 4161a3cc 41617ac0 00000050 41af9008
    I/DEBUG ( 1903): bea295f8 00000000 5981e10c 4154fec4 577d06d0
    I/DEBUG ( 1903): bea29608 41557000 41bcefc0 de38a218 bea29730
    I/DEBUG ( 1903): bea29618 00000000 bea29784 00000000 00000000
    I/DEBUG ( 1903): bea29628 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): bea29638 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): bea29648 00000000 00000000 00000000 00000000
    I/DEBUG ( 1903): bea29658 00000000 00000000 400be4a8 578a7538
    I/DEBUG ( 1903): bea29668 41698c6c 00000001 416a02a8 41bcee8c
    I/DEBUG ( 1903): bea29678 00000001 4164ce09 00000000 00000000
    I/DEBUG ( 1903): I/DEBUG ( 1903): code around pc: I/DEBUG ( 1903): 4160aa20 4596802c e3500000 1a0020af e207c0ff
    I/DEBUG ( 1903): 4160aa30 e088f30c e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 4160aa40 e1a00427 e7952100 e1d410f2 e3520000
    I/DEBUG ( 1903): 4160aa50 03a01002 e0911001 e1b470b1 e5960080
    I/DEBUG ( 1903): 4160aa60 4596802c e3500000 1a00209f e207c0ff
    I/DEBUG ( 1903): 4160aa70 e088f30c e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 4160aa80 e1a00427 e7952100 e1d410f2 e3520000
    I/DEBUG ( 1903): 4160aa90 a3a01002 e0911001 e1b470b1 e5960080
    I/DEBUG ( 1903): 4160aaa0 4596802c e3500000 1a00208f e207c0ff
    I/DEBUG ( 1903): 4160aab0 e088f30c e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 4160aac0 e1a00427 e7952100 e1d410f2 e3520000
    I/DEBUG ( 1903): 4160aad0 b3a01002 e0911001 e1b470b1 e5960080
    I/DEBUG ( 1903): 4160aae0 4596802c e3500000 1a00207f e207c0ff
    I/DEBUG ( 1903): 4160aaf0 e088f30c e320f000 e320f000 e320f000
    I/DEBUG ( 1903): 4160ab00 e1a00427 e7952100 e1d410f2 e3520000
    I/DEBUG ( 1903): 4160ab10 d3a01002 e0911001 e1b470b1 e5960080
    I/DEBUG ( 1903): I/DEBUG ( 1903): code around lr: I/DEBUG ( 1903): 00000000 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000010 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000020 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000030 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000040 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000050 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000060 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000070 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000080 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 00000090 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 000000a0 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 000000b0 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 000000c0 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 000000d0 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 000000e0 ffffffff ffffffff ffffffff ffffffff
    I/DEBUG ( 1903): 000000f0 ffffffff ffffffff ffffffff ffffffff
    I/Process ( 2311): Sending signal. PID: 12075 SIG: 6 I/BootReceiver( 2311): Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE) W/InputDispatcher( 2311): channel '423c0808 de.schildbach.wallet/de.schildbach.wallet.WalletActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 E/InputDispatcher( 2311): channel '423c0808 de.schildbach.wallet/de.schildbach.wallet.WalletActivity (server)' ~ Channel is unrecoverably broken and will be disposed! D/Zygote ( 1906): Process 12075 terminated by signal (6) W/InputDispatcher( 2311): Attempted to unregister already unregistered input channel '423c0808 de.schildbach.wallet/de.schildbach.wallet.WalletActivity (server)' I/WindowState( 2311): WIN DEATH: Window{423c0808 u0 de.schildbach.wallet/de.schildbach.wallet.WalletActivity}

    What can I do to debug this issue?

    opened by mwik 30
  • SSLProtocolException when sweeping keys:

    SSLProtocolException when sweeping keys: "SSL23_GET_SERVER_HELLO"

    This error message is printed when attempting to swipe a private key in Electrum. It contains .00219259 BTC. My copy of Bitcoin Wallet is the latest one in the Google Play store.

    screenshot_2015-06-10-01-27-24

    opened by DavidGriffith 28
  • Backup file corrupted?

    Backup file corrupted?

    I'm wonder if it's possible to confirm if a backup file is corrupted.

    I've decrypted the backup file using the openssl enc -d -aes-256-cbc -a -in command and it did not throw a password error.

    However, the decrypted file is just garbage, it's not protobuf or Base58 format.

    Is there anyway to know for sure if the actual backup file got corrupted? I originally restored it from my old phone which was dropped and screen destroyed (100% black/unusable), by copying it off the SD card.

    Should I keep guessing passwords for the rest of my life, or is there a way to prove the file is corrupt so I can just accept the lost value and move on? The original backup would have been created in February 2014 if that matters.

    opened by megadan76 22
  • Inconsistency when reproducing the build for version `7.43`

    Inconsistency when reproducing the build for version `7.43`

    Verifying version 7.23 went smooth but now with 7.43 I get some tiny discrepancies and wonder why.

    $ git fetch
    $ git checkout $( git tag | grep 7.43 )
    $ docker run -it --volume $PWD:/mnt --workdir /mnt --rm mycelium-wallet bash
    root@209f3ccda71a:/mnt# yes | /opt/android-sdk/tools/bin/sdkmanager "build-tools;29.0.2"
    root@209f3ccda71a:/mnt# apt update && apt install gradle -y
    root@209f3ccda71a:/mnt# gradle clean :wallet:assProdRel
    root@209f3ccda71a:/mnt# exit
    $ apktool d -o fromBuild wallet/build/outputs/apk/prod/release/bitcoin-wallet-prod-release-unsigned.apk
    $ apktool d -o fromGoogle Bitcoin\ Wallet\ 7.43\ \(de.schildbach.wallet\).apk 
    $ diff --recursive from*
    diff --recursive fromBuild/apktool.yml fromGoogle/apktool.yml
    2c2
    < apkFileName: bitcoin-wallet-prod-release-unsigned.apk
    ---
    > apkFileName: Bitcoin Wallet 7.43 (de.schildbach.wallet).apk
    Only in fromGoogle/original/META-INF: BITCOIN-.RSA
    Only in fromGoogle/original/META-INF: BITCOIN-.SF
    diff --recursive fromBuild/original/META-INF/MANIFEST.MF fromGoogle/original/META-INF/MANIFEST.MF
    4a5,523
    > Name: AndroidManifest.xml
    > SHA-256-Digest: SMUmCowM699Ms38Sg/3p7NzuN0tqLZ6NEsyzGPdLdsI=
    > 
    > Name: META-INF/services/java.security.Provider
    > SHA-256-Digest: tQoHBUCrFboIZe48gchWFvVN/Ox53Piv2CIFeI9FLaw=
    
    ...
    
    diff --recursive fromBuild/res/layout/custom_dialog.xml fromGoogle/res/layout/custom_dialog.xml
    2,5c2
    < <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
    <   xmlns:android="http://schemas.android.com/apk/res/android">
    <     <Button android:id="@id/dialog_button" android:layout_width="100.0px" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:layout_marginRight="5.0dip" android:text=" Ok " />
    < </RelativeLayout>
    \ No newline at end of file
    ---
    > <x />
    \ No newline at end of file
    diff --recursive fromBuild/res/layout/spinner_item.xml fromGoogle/res/layout/spinner_item.xml
    2,3c2
    < <TextView android:id="@android:id/text1" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content"
    <   xmlns:android="http://schemas.android.com/apk/res/android" />
    \ No newline at end of file
    ---
    > <x />
    \ No newline at end of file
    Only in fromBuild/res: mipmap-hdpi
    Only in fromBuild/res: mipmap-xhdpi
    

    That diff is manageable:

    • All files in META-INF differ due to signature not being reproducible by design.
    • Our APK has 4 extra PNGs. Although that is surprising, there is probably not a backdoor in the absence of those binaries.
    • Our APK has some tiny bit of extra content in two layout xml files. Again, that cannot be critical.
    • apktool.yml is generated when unpacking the APK and no content of the APKs.

    but still surprising to me.

    opened by Giszmo 18
  • Restoring wallet fails, but decrypting in Linux doesn't

    Restoring wallet fails, but decrypting in Linux doesn't

    I attempted to restore a backed up wallet (after my phone died) --- and the app on android fails, but I am able to successfully decrypt in Linux via the following:

    openssl enc -d -aes-256-cbc -a -in "backupfile" -out "backupfile.out" -k password

    Not sure what is causing this bug, but it is anxiety inducing :P

    opened by sohrobk 18
  • Error restoring keys

    Error restoring keys

    I'm currently moving from a galaxy s3 to so and want to move my keys over.

    I am able to export the key and email to myself. On attempting to open the new file and entering password I am informed that:

    Could not parse input stream to protobuf

    Both running latest version of bitcoin wallet. Obviously I could create a new wallet and transfer the funds, but I'd like to keep hold of my bitcoin address too.

    Thanks for any help.

    opened by lloydwatkin 18
  • C Compiler Failed

    C Compiler Failed

    Running gradle clean :native-scrypt:copy test build from within the wallet folder on a Ubuntu 16.04 LTS install, I get the following:

    To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.10/userguide/gradle_daemon.html.
    Incremental java compilation is an incubating feature.
    :wallet:clean UP-TO-DATE
    :native-scrypt:compileScryptArmeabi-v7aDebugSharedLibraryScryptMainC
    /home/user/Desktop/bitcoin-wallet/native-scrypt/src/scrypt_jni.c:3:19: fatal error: errno.h: No such file or directory
     #include <errno.h>
                       ^
    compilation terminated.
    
    In file included from /home/user/Desktop/bitcoin-wallet/native-scrypt/src/scrypt_platform.h:7:0,
                     from /home/user/Desktop/bitcoin-wallet/native-scrypt/src/crypto_scrypt-nosse.c:29:
    /home/user/Desktop/bitcoin-wallet/native-scrypt/src/config.h:9:24: fatal error: sys/limits.h: No such file or directory
     #include <sys/limits.h>
                            ^
    compilation terminated.
    
    In file included from /home/user/Desktop/bitcoin-wallet/native-scrypt/src/scrypt_platform.h:7:0,
                     from /home/user/Desktop/bitcoin-wallet/native-scrypt/src/sha256.c:26:
    /home/user/Desktop/bitcoin-wallet/native-scrypt/src/config.h:9:24: fatal error: sys/limits.h: No such file or directory
     #include <sys/limits.h>
                            ^
    compilation terminated.
    
    :native-scrypt:compileScryptArmeabi-v7aDebugSharedLibraryScryptMainC FAILED
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':native-scrypt:compileScryptArmeabi-v7aDebugSharedLibraryScryptMainC'.
    > Multiple build operations failed.
          C compiler failed while compiling scrypt_jni.c.
          C compiler failed while compiling crypto_scrypt-nosse.c.
          C compiler failed while compiling sha256.c.
      See the complete log at: file:///home/user/Desktop/bitcoin-wallet/native-scrypt/build/tmp/compileScryptArmeabi-v7aDebugSharedLibraryScryptMainC/output.txt
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    
    BUILD FAILED
    
    Total time: 24.525 secs
    

    Please advise on how to continue.

    opened by Lvl4Sword 16
  • Bitcoin-wallet issues with java version?

    Bitcoin-wallet issues with java version?

    Hi

    Im trying to compile bitcoin-wallet but i got issues

    org.bitcoin.NativeSecp256k1: can't find referenced method 'java.nio.ByteBuffer rewind()' in library class java.nio.ByteBuffer
    org.bitcoinj.core.CheckpointManager: can't find referenced method 'java.nio.ByteBuffer position(int)' in library class java.nio.ByteBuffer
    org.bitcoinj.core.PeerSocketHandler: can't find referenced method 'java.nio.ByteBuffer position(int)' in library class java.nio.ByteBuffer
    org.bitcoinj.net.BlockingClient: can't find referenced method 'java.nio.ByteBuffer flip()' in library class java.nio.ByteBuffer
    org.bitcoinj.net.ConnectionHandler: can't find referenced method 'java.nio.ByteBuffer flip()' in library class java.nio.ByteBuffer
    org.bitcoinj.net.ProtobufConnection: can't find referenced method 'java.nio.ByteBuffer position(int)' in library class java.nio.ByteBuffer
    org.bitcoinj.net.ProtobufConnection: can't find referenced method 'java.nio.ByteBuffer limit(int)' in library class java.nio.ByteBuffer
    org.bitcoinj.store.SPVBlockStore: can't find referenced method 'java.nio.MappedByteBuffer position(int)' in library class java.nio.MappedByteBuffer
    
    Exception while processing task java.io.IOException: Please correct the above warnings first.
    
    

    I guess it is releated to java version, i tried java 1.8_181 and jdk11 on windows platform. Can anyone tell me what im doing wrong?

    opened by pdrobek 15
  • [Feature Request] Support for Tor network (via Orbot)

    [Feature Request] Support for Tor network (via Orbot)

    Something nice and maybe (hopefully rather) straightforward to implement that I would like to see is (optional) support for Tor (via Orbot). It would add some additional level of anonymity - it would require the traffic to be routed to the local proxy provided by Orbot (additionally the app could check if Orbot is running already or start it). Far from being critical - but nice to have at some point :-)

    enhancement 
    opened by github-user-1 15
  • Add more clear reproducible builds instructions/section/script and mention disorderfs at README

    Add more clear reproducible builds instructions/section/script and mention disorderfs at README

    Currently the mention of reproducibility in repo are:

    in README.md

    1. https://github.com/bitcoin-wallet/bitcoin-wallet/blob/331a9dd04532449ea11ddd609f17429e68c096c6/wallet/README.md#L92

    in changelog in CHANGES file

    1. https://github.com/bitcoin-wallet/bitcoin-wallet/blob/791c8b6ad989499e73dfd744f1bfdf67fb7e0164/wallet/CHANGES#L361
    2. https://github.com/bitcoin-wallet/bitcoin-wallet/blob/791c8b6ad989499e73dfd744f1bfdf67fb7e0164/wallet/CHANGES#L218-L219

    Suggestion are:

    1. Use the term reproducible builds in README.md
    2. Mention the need to use disorderfs for RB.
    3. Add instructions for RB in text (specific pinned versions need to be used, like java 11, gradle 4.4-5.6.4, and debian/ubuntu base image) and in script such as the Containerfile
    FROM docker.io/debian:bullseye-slim
    
    RUN set -ex; \
        apt-get update; \
        DEBIAN_FRONTEND=noninteractive apt-get install --yes -o APT::Install-Suggests=false --no-install-recommends \
            git \
            wget \
            unzip \
            disorderfs \
            openjdk-11-jdk-headless ; \
        rm -rf /var/lib/apt/lists/*; \
        useradd -ms /bin/bash appuser;
        
    USER appuser
    
    ENV ANDROID_SDK_ROOT="/home/appuser/app/sdk/" \
        ANDROID_HOME="/home/appuser/app/sdk/"
    
    RUN set -ex; \
        mkdir -p "/home/appuser/app/sdk/licenses" "/home/appuser/app/schildbachBitcoinWallet/" "/home/appuser/app/schildbachBitcoin" "/home/appuser/gradle"; \
        printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > "/home/appuser/app/sdk/licenses/android-sdk-license"; \
        cd "/home/appuser/gradle/"; \
        wget https://services.gradle.org/distributions/gradle-5.6.4-bin.zip; \
        echo "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d  gradle-5.6.4-bin.zip" | sha256sum -c ; \        
        unzip gradle-5.6.4-bin.zip; \
        rm gradle-5.6.4-bin.zip; \
        cd /home/appuser/app/schildbachBitcoin; \
        git clone https://github.com/bitcoin-wallet/bitcoin-wallet; \
        cd bitcoin-wallet; \
        git checkout v9.26;
        
    WORKDIR /home/appuser/app/schildbachBitcoinWallet/
    

    Run: podman run --device /dev/fuse --cap-add SYS_ADMIN --rm --name schildbach_bitcoin_build_apk -ti schildbach_bitcoin_build_apk

    And run inside the shell of the container:

    disorderfs --sort-dirents=yes --reverse-dirents=no /home/appuser/app/schildbachBitcoin/bitcoin-wallet/ /home/appuser/app/schildbachBitcoinWallet/;
    cd /home/appuser/app/schildbachBitcoinWallet/;
    /home/appuser/gradle/gradle-5.6.4/bin/gradle --no-build-cache --no-daemon --no-parallel clean :wallet:assembleRelease
    
    opened by emanuelb 10
  • Error: Internal device storage space low!

    Error: Internal device storage space low!

    I recently got this error on my OnePlus 9 Pro: Internal device storage space low! Bitcoin Wallet uses internal storage for remembering transactions and blocks. If it runs out of space, it will stop working and your Bitcoins will be at risk! Do you want to open the Application Manager to uninstall unneeded apps?

    But no matter how many apps I remove (12 GB of free space now, as reported by Google Files) it keeps giving me this error. How to solve this? I think it might be a storage permission thing, maybe it can't write. But can't find that in the Android settings of the app where you can configure notifications, permissions, etc.

    opened by michielvanerp 4
  • add thousands separator when using satoshi as a unit.

    add thousands separator when using satoshi as a unit.

    We now have Satoshi (sat) denomination able to be selected in the settings. However, it can be difficult to quickly read the number without a thousands separator. For example 12345678 sat is hard to read, but 12,345,678 sat is much quicker to allow one to identify that they have over 12 million sats. Please add the comma (,) as a thousands separator.

    opened by AndySchroder 1
  • Request: Notify of DNS issues

    Request: Notify of DNS issues

    I've had this app for a while on my android phone and recently decided to start using a DNS-level ad blocker.

    I decided to send some BTC to a wallet on my phone today and couldn't figure out why the app was not showing the finalised transaction for the wallet that was clearly completed on the blockchain. I observed just the "0 peers connected" message, but this really didn't make me think of "DNS issue".

    I went looking for this "0 peers connected" message for the app and saw some random, unrelated discussion regarding DNS and thought "oh yeah, it could be DNS", which of course it ended up being. I'm not sure that somebody without background knowledge on DNS would be able to figure something like this out (at least I'm fairly sure these days non-CS background people interact with BTC without knowing what DNS is).

    I wanted to suggest/request some sort of error/info message pop up regarding multiple failed DNS resolving attempts over a prolonged period of time & suggestions on approaches to fix the issue.

    Sidenote: is there a way to export the app logs for personal use? There's the "Report Issue" button that talks about the Application Log, but I couldn't find a way for me to look at my logs myself. I'm honestly not even sure where logs go in android by default. I'd guess it's locked behind the android abstraction level from the user...

    enhancement 
    opened by parawanderer 2
  • Feature request

    Feature request

    I propose to add an option for changing your current address labeled "this is your current address for receiving" in the address book (I know that all addresses are valid for receiving, since I finally received the payment of yesterday, just a few minutes ago, for the information of people who read my previous issue on this project, but I merely ask this as a minor GUI option)

    It would be nice to also being able to delete addresses from your address book.

    opened by martino2002 0
Releases(v5.16)
Owner
Bitcoin Wallet developers
Bitcoin Wallet developers
Android Bitcoin market app base on Jetpack Compose and MVI. The app displays current bitcoin market price and history price k-line charts.

compose-bitcoin Android Bitcoin market app base on Jetpack Compose and MVVM & MVI. Features Current bitcoin market price. K-line charts of history pri

Chen Pan 3 May 20, 2022
Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals 💰

Bitcoin Market ?? Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals Tech stack and whys ?? Kot

Cafer Mert Ceyhan 320 Jan 4, 2023
Scp-wallet-android - Lightweight ScPrime wallet for Android

SCP Wallet Android SCP Wallet is lightweight ScPrime wallet for Android. Get sta

Paolo Biglioli 3 Mar 31, 2022
Bitcoin-Wallet-Android Google Colab

Beta channel Run Google Colab https://colab.research.google.com/drive/1OShIMVcFZ_khsUIBOIV1lzrqAGo1gfm_?usp=sharing In order to receive updates quicke

DE MINING 0 Feb 25, 2022
Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network.

Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network.

Cosmostation 44 Dec 21, 2022
Sample crypto wallet for Wallet Link SDK.

DemoWallet This repo is sample app for Wallet Link SDK. WalletLink is an open protocol that lets users connect their mobile wallets to your DApp. With

null 0 Dec 17, 2021
android-trinity is tiny proactive framework with much of the scaffolding code required to start a new Android Application.

android-trinity This is tiny framework with much of the scaffolding code (with some nice utilities and prepared source code) required to start a new A

Fernando Cejas 49 Nov 24, 2022
HyperUPnP is Android Application that lets you to Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device.

Hyper UPnP Android UPnP/DLNA client Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device. Int

Var Bhat 8 Jul 17, 2022
Open Super dApp - Your gateway to the new digital commons. Integrated mobile messenger, Ethereum wallet, and Web 3.0 browser built on open, decentralized, and encrypted protocols.

A fully open source, open standard, decentralized "super app" including a secure, encrypted Matrix compatible messenger based off of the Element Messenger, and an Ethereum crypto wallet and web3 browser based off of Alpha Wallet.

2Gather 6 Jul 25, 2022
EU Digital COVID Certificate Wallet App - Android

This repository contains the source code of the EU Digital COVID Certificate Wallet App for Android.

null 57 Oct 6, 2022
Ivy Wallet is an Open Source money manager app for android that you can either build or download from Google Play.

Ivy Wallet is an Open Source money manager app for android that you can either build or download from Google Play.

null 727 Dec 26, 2022
The Odysee Android app with wallet functionality

Odysee Android Release To create an APK file which can be installed on real devices, you will need to create a digital signature and then edit app/bui

Odysee 116 Dec 29, 2022
Nova Wallet Android - Next get mobile app for Polkadot & Kusama ecosystem

Nova Wallet Android is a next gen application for Polkadot & Kusama ecosystem, transparent & community-oriented, focused on convenient UX/UI, fast performance & security.

Novasama Technologies 17 Dec 27, 2022
Source code of JekyllEx Android App which can manage your Jekyll blog directly from your Android device!

JekyllEx Android App Built with ❤︎ by Gourav Khunger ?? Introduction JekyllEx is an Android App that allows you to manage a Jekyll Blog directly from

JekyllEx 24 Nov 8, 2022
Ergo Wallet for Android, built on top of Ergo Appkit.

Ergo Wallet Android Ergo Wallet for Android, built on top of Ergo Appkit. You need at least Android 7 to run Ergo Wallet. Features: generating wallets

Benjamin Schulte 80 Dec 14, 2022
Ergo Wallet for Android

Ergo Wallet Android Official Ergo Wallet for Android (official announcement) Features: generating wallets, restoring wallets in a way compatible to Yo

Ergo 80 Dec 14, 2022
Lightning Dev Kit Android Demo Wallet

uMlando-wallet Lightning Dev Kit Android Demo Wallet This project uses a .aar package for the Android platforms that provide language bindings for the

Conor Okus 6 Dec 23, 2022
Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains

Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains. This application allows you to sign transactions on the block chain, share your DID and Verifiable Credentials containing your identity with others in a consensual way and log into web2 and web3 applications. If you lose your phone several mechanisms exist to allow you to recover your account without trusting anyone with custody of your private keys.

null 7 Dec 24, 2022
Manage your torrents from your Android device with Transdroid.

All popular clients are supported: µTorrent, Transmission, rTorrent, Vuze, Deluge, BitTorrent 6, qBittorrent, and many more. You can view and manage running torrents and individual files. Adding is easy via the integrated search or RSS feeds (full version required). Monitor progress using the home screen widget or background alarm service.

Eric Kok 1.1k Jan 5, 2023