Git Product home page Git Product logo

abcore's People

Contributors

caiofaustino avatar duckartes avatar greenaddress avatar lvaccaro avatar mikerow avatar poussinou avatar udiwertheimer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abcore's Issues

native tgkill/abort crash on android 8 (oreo)


*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.greenaddress.abcore <<<

backtrace:
  #00  pc 00000000000695d8  /system/lib64/libc.so (tgkill+8)
  #01  pc 000000000001d990  /system/lib64/libc.so (abort+88)
  #02  pc 0000000000436868  /system/lib64/libart.so (_ZN3art7Runtime5AbortEPKc+528)
  #03  pc 0000000000436f78  /system/lib64/libart.so (_ZN3art7Runtime7AborterEPKc+24)
  #04  pc 00000000005213a0  /system/lib64/libart.so (_ZN7android4base10LogMessageD1Ev+900)
  #05  pc 0000000000241b64  /system/lib64/libart.so (_ZNK3art2gc12Verification17LogHeapCorruptionENS_6ObjPtrINS_6mirror6ObjectEEENS_12MemberOffsetEPS4_b+1292)
  #06  pc 00000000001dd964  /system/lib64/libart.so (_ZN3art2gc9collector17ConcurrentCopying13MarkNonMovingEPNS_6mirror6ObjectES5_NS_12MemberOffsetE+492)
  #07  pc 00000000001df8d4  /system/lib64/libart.so (_ZN3art6mirror6Object15VisitReferencesILb1ELNS_17VerifyObjectFlagsE0ELNS_17ReadBarrierOptionE1ENS_2gc9collector17ConcurrentCopying16RefFieldsVisitorES8_EEvRKT2_RKT3_+388)
  #08  pc 00000000001d9594  /system/lib64/libart.so (_ZN3art2gc9collector17ConcurrentCopying19ProcessMarkStackRefEPNS_6mirror6ObjectE+164)
  #09  pc 00000000001d8eb8  /system/lib64/libart.so (_ZN3art2gc9collector17ConcurrentCopying20ProcessMarkStackOnceEv+576)
  #10  pc 00000000001d8c60  /system/lib64/libart.so (_ZN3art2gc9collector17ConcurrentCopying16ProcessMarkStackEv+28)
  #11  pc 00000000001d2e04  /system/lib64/libart.so (_ZN3art2gc9collector17ConcurrentCopying12MarkingPhaseEv+700)
  #12  pc 00000000001d2124  /system/lib64/libart.so (_ZN3art2gc9collector17ConcurrentCopying9RunPhasesEv+760)
  #13  pc 00000000001e61b8  /system/lib64/libart.so (_ZN3art2gc9collector16GarbageCollector3RunENS0_7GcCauseEb+352)
  #14  pc 000000000020a344  /system/lib64/libart.so (_ZN3art2gc4Heap22CollectGarbageInternalENS0_9collector6GcTypeENS0_7GcCauseEb+3632)
  #15  pc 00000000002181e8  /system/lib64/libart.so (_ZN3art2gc4Heap12ConcurrentGCEPNS_6ThreadENS0_7GcCauseEb+128)
  #16  pc 0000000000220500  /system/lib64/libart.so (_ZN3art2gc4Heap16ConcurrentGCTask3RunEPNS_6ThreadE+40)
  #17  pc 000000000024106c  /system/lib64/libart.so (_ZN3art2gc13TaskProcessor11RunAllTasksEPNS_6ThreadE+64)
  #18  pc 00000000002e296c  /system/framework/arm64/boot-core-libart.oat (dalvik.system.VMRuntime.clampGrowthLimit [DEDUPED]+124)
  #19  pc 00000000002e767c  /system/framework/arm64/boot-core-libart.oat (java.lang.Daemons$HeapTaskDaemon.runInternal+204)
  #20  pc 00000000002e5f3c  /system/framework/arm64/boot-core-libart.oat (java.lang.Daemons$Daemon.run+76)
  #21  pc 00000000001fbc0c  /system/framework/arm64/boot.oat (java.lang.Thread.run+76)
  #22  pc 0000000000506984  /system/lib64/libart.so (art_quick_invoke_stub+580)
  #23  pc 00000000000d8010  /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+200)
  #24  pc 000000000042f8d8  /system/lib64/libart.so (_ZN3artL18InvokeWithArgArrayERKNS_33ScopedObjectAccessAlreadyRunnableEPNS_9ArtMethodEPNS_8ArgArrayEPNS_6JValueEPKc+104)
  #25  pc 0000000000430a64  /system/lib64/libart.so (_ZN3art35InvokeVirtualOrInterfaceWithJValuesERKNS_33ScopedObjectAccessAlreadyRunnableEP8_jobjectP10_jmethodIDP6jvalue+432)
  #26  pc 0000000000456d88  /system/lib64/libart.so (_ZN3art6Thread14CreateCallbackEPv+1140)
  #27  pc 0000000000065f88  /system/lib64/libc.so (_ZL15__pthread_startPv+36)
  #28  pc 000000000001ed24  /system/lib64/libc.so (__start_thread+68)

Don't pin packages, download latest and verify signature instead

Currently we are keeping a sha256 of each package hardcoded (pin) in the app which works until mirrors update to a newer unpinned package.

We could either use an archive mirror that contains old versions or even better we could stop pinning packages and verify them by the signatures from upstream.

setting screen config changes mangles manual config

In 0.v33-alpha

install.
manual config.
twiddle config, removing disablewallet=1
exit config
notice that disablewallet is still checked
uncheck
manual config
configuration is all gone (except for disablewallet=1).

port armv8l

its possible? for run on a venz pro android box

abcore syncing to a chain with 100,000+ blocks

All 8 peers that I'm connected to has block height that's about right but from the synchronization progress and debug logs I'm seeing block height of 100,000+.

Running abcore v 0.73 on Nexus 6P, Android 8.1.0
log2_work= 62115383 tx=462449 date='2011-05-02T11:51:19Z' progress= 0001130 cache 35.7MIB(227372txo) 2019-05-08T05:01:26Z UpdateTip: new best=0000000000006922ef69b0894191a8520 b5a6eb5b13097ae906281036184fa07 height=121408 version=0x00000001 log2_work= 62115519 tx=462457 date=2011-05-02T11:54:54Z progress= 0001130 cache=35.7 MiB(227373txo) 2019-05-08T05:01:26Z UpdateTip: new best=00000000000057659e42fae53e6c33e35 6df2fb72b03571aec725f030bc254f4 height=121409 version=0x00000001 log2_work= 62115655 tx=462470 date='2011-05-02T11:58:41Z' progress 0001130 cache=35.7 MiB(227385txo) 2019-05-08T05:01:26Z UpdateTip: new best=0000000000002a7c731caa9e52116e49 Oab067d6ab64d8b1f507df2aae0c3bdd height=121410 version=0x00000001 log2_work= 62115791 tx=462479 date-'2011-05-02T12:00:55Z progress= 0001130 cache 35.7MIB(227387txo)

Improve F-Droid listing

I've seen this app on F-Droid, but it lacks screenshots, changelog and a translatable description there. It's pretty easy for you to add these information. Please have a look at this example or at the F-Droid docs or fastlane docs.
After you have commited these files to your repo and tagged a new version, you need to remove the Description and Summary from the metadata file in the F-Droid Data repo.

ZMQs disablled?

I had LND managing to connect using 0.17 but now with 0.18 I get

unable to subscribe for zmq block events: dial tcp 127.0.0.1:28332: connect: connection refused

i'm wondering if ZMQs were disabled with the 0.18 releases?

Debug

I clicked on Debug while core was running and the app crashed.
I restarted but when I went in "peers" the message "core is not running" appeared.
I closed the app but also reopening it the message was still there.
There must be an option to reset errors. It seems that closing and reopening it is not enough.

Does this scan for available storage before?

Say a phone has 32 GB total storage, blockchain initial sync is 110+ GB now. Does the app check this before trying to download? How will it handle if it downloads then fills up all the storage part way through?

BUG found in abcore The application crashes when downloading is complete

Project Information

Expected behavior

I was expecting that when the file is completely downloaded, it will begin to appear in all the data available in the application and the application should not crash after the download is completed.

Actual behavior

The app crashes as soon as I start downloading and when the download is complete

How to reproduce

1-Download the application
2- Open the application and click Start download
3- Wait until the download is completed
4- see the bug

  • Browser/App version: v0.73
  • Operating system: 6.0.1
  • Smartphone: Galaxy j7

Recording Of The Bug

20190513_015235

My Github Account

https://github.com/facebook-786

Logcat

E/AndroidRuntime(26936): FATAL EXCEPTION: IntentService[com.greenaddress.abcore.DownloadInstallCoreIntentService]

E/AndroidRuntime(26936): Process: com.greenaddress.abcore, PID: 26936

E/AndroidRuntime(26936): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getCanonicalPath()' on a null object reference

E/AndroidRuntime(26936): 	at com.greenaddress.abcore.DownloadInstallCoreIntentService.a()

E/AndroidRuntime(26936): 	at com.greenaddress.abcore.DownloadInstallCoreIntentService.onHandleIntent()

E/AndroidRuntime(26936): 	at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)

E/AndroidRuntime(26936): 	at android.os.Handler.dispatchMessage(Handler.java:102)

E/AndroidRuntime(26936): 	at android.os.Looper.loop(Looper.java:135)

E/AndroidRuntime(26936): 	at android.os.HandlerThread.run(HandlerThread.java:61)

ABCore is not detecting all storage available (external SD and USB disks)

As per title, ABCore is not detecting all storage available (external SD and USB disks).

I saw various solutions, some using Android's APIs (but didn't work, not even on recent devices), some required hardcoding a number of candidate paths and some other parsed the result of mount.

We need to autodetect the devices that could be used and pick one or ask the user to pick if more than one.

ABCore randomly restarting

This is a problem I've been having for several releases, including the latest (0.48).

After stopping Core (by pressing the slider/button "Switch Core OFF"), and verifying that it indeed has stopped (debug.log shows "Shutdown: done"), the tray icon disappears. I leave the ABCore app, and remove it from the view of recently used apps (pressing the square button, and swiping the ABCore window off the screen).

Some time later (I think usually when leaving another, unrelated app), the ABCore tray icon automatically reappears, and it seems that it indeed is running again (by inspecting the debug.log). This makes it nearly unusable, as the memory/CPU/bandwidth usage is something I don't want to see appear unexpectedly.

The problem does not seem to occur if after stopping Core, and leaving ABCore, I go to the apps settings screen, and Force Kill the application.

I don't have the feature for automatically running when on power+wifi enabled.

ABCore 99%

Buena tarde, tengo descargada la App de ABCore en mi celular Android, ya llevo 8 días en 99% corriendo la aplicación día y noche 24/7 pero no llega al 100%, quisiera saber si es una pérdida de tiempo esa aplicación ya que no pide wallet de Bitcoin. Agradezco cualquier ayuda a mi E-mail [email protected]
Screenshot_20190330-122213

Can't copy commands outputs from console

After successfully syncing the node in testnet, I tried to use the console but I encountered some difficulties since I am unable to copy the output of the commands (e.g. new addresses or signed transactions).

In case it is relevant, I am on an Motorola device with Android 8.0.0

feature request: stop automatically when unplugged or disconnected from wifi

Thanks a lot for ABCore, its simply amazing it is possible to run Core on Android devices!

There's one small feature missing which allow me to use ABCore on its full potential on my devices. Please implement inverted feature of #32; it would be nice to automatically stop ABCore when the device is disconnected from power supply OR if it disconnect from Wifi (for example to metered mobile data).

This would prevent to discharge my phone or wipe my data plan. Actually, both happened to me already :-). I believe that because #32 is already implemented, implement the opposite will be quite straightforward.

IBD restarts from scratch

I noticed that if the app is restarted during IBD and whilst the sync progress is low (i.e.< 10%) then IBD starts again from scratch, if the sync progress is larger then it doesnt restart from scratch

I assume this is something to do with bitcoin core not ABCore but just wanted to check that?

Foreground service is never stopped

When the switch (android:id="@+id/switchCore") is toggled on the foreground services is started, but when it is toggled off stopservice() is never called, which means although it disconnects and stops the sync, the notification is left in the notification status bar ( ABCore is Running), which is a bit confusing.

Unless there is a reason you need ABCore to continue to treat the app as a foreground app after the switch is toggled, call:

stopService(new Intent(MainActivity.this, ABCoreService.class));

in

 stopDaemonAndSetStatus()

Alternatively you can do it inside ABCoreService with intent extras and calling stopForeground(true) and then stopSelf()

Feature Request: Debug Log real-time update or interval

Would be great to load the Debug Log and see new entries to it in real-time as the app adds them. As it stands, the user must go back to the main app screen then select Debug Log from the drop-down menu to see more current updates.

Alternatively, an option to select an update interval for the log, if real-time if feasible. 1s, 5s, 30s, 60s, 5m, etc.

What's the problem?

For two days now I cannot log in or send my money. I get no 2fa, now when I try loggin in it just says error. No reason why. I can log in with mobile but it never sends me my 2fa in order to withdrawal. Of course no suppose from their email "help". Is this a system error or what's going on with my wallet?

Battery optimization on Android 8.0 prevents ABCore from syncing

Android 8.0 has introduced a battery optimization change that creates limits on how freely apps running in background can access to the device's resources. This prevents ABCore and other apps connected to the Bitcoin network from syncing the blocks when the app is running in background.

Luckily this can be solved by going to "Special app access" in the device's settings and deactivate the battery optimization feature for individual apps.

Since if not addressed this prevents the users from being able to use the app, I suggest to at least put a helper message somewhere to guide users in deactivating the battery optimization for ABCore.

As a reference: https://developer.android.com/about/versions/oreo/android-8.0-changes

I also reported the same issue to the Andorid Bitcoin-wallet devs and seems like their plan is to rewrite the background process to use WorkManager: bitcoin-wallet/bitcoin-wallet#557 (comment)

Why is abort rescan not working under console?

My setting is mainnet synchronization progress 99%

First I use importaddress under console then use abortrescan but it not working,even restart the bitcoind ... the rescan process still running

TransactionTooLargeException on Android 8 (Oreo)

java.lang.RuntimeException: 
  at android.app.ActivityThread$StopInfo.run (ActivityThread.java:4006)
  at android.os.Handler.handleCallback (Handler.java:789)
  at android.os.Handler.dispatchMessage (Handler.java:98)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6541)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)
Caused by: android.os.TransactionTooLargeException: 
  at android.os.BinderProxy.transactNative (Native Method)
  at android.os.BinderProxy.transact (Binder.java:748)
  at android.app.IActivityManager$Stub$Proxy.activityStopped (IActivityManager.java:4636)
  at android.app.ActivityThread$StopInfo.run (ActivityThread.java:3998)

slow sync

Android ver. 7.0 on Huawei P9 lite.

the app synced with 5% progress per day/ suddenly stopped on 24% now its shows avg. wifi cons. 12mb/day syncing became extremly slow

its a burner phone without a sim, only stable internet connection, vpn is off, most default app features are off, nothing else on the phone.

any idea what might be the issue?

Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{2b9853a u0 com.greenaddress.abcore/.ABCoreService}

This error occurred in an emulator FWIW and reported via play store


"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x74d44f50 self=0xef574000
  | sysTid=20325 nice=10 cgrp=default sched=0/0 handle=0xf4171494
  | state=S schedstat=( 1011419048 563484304 941 ) utm=77 stm=24 core=1 HZ=100
  | stack=0xff1f8000-0xff1fa000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000000b39  [vdso] (__kernel_vsyscall+9)
  #01  pc 000000000007621b  /system/lib/libc.so (__epoll_pwait+43)
  #02  pc 0000000000031e8d  /system/lib/libc.so (epoll_wait+45)
  #03  pc 0000000000013567  /system/lib/libutils.so (android::Looper::pollInner(int)+183)
  #04  pc 000000000001340b  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+43)
  #05  pc 00000000000e414b  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:326)
  at android.os.Looper.loop (Looper.java:160)
  at android.app.ActivityThread.main (ActivityThread.java:6669)
  at java.lang.reflect.Method.invoke (Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
"Jit thread pool worker thread 0" tid=2 Native 
"Jit thread pool worker thread 0" daemon prio=5 tid=2 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x135802b8 self=0xe9808000
  | sysTid=20335 nice=9 cgrp=default sched=0/0 handle=0xe97ff970
  | state=S schedstat=( 229270306 287275445 333 ) utm=9 stm=13 core=1 HZ=100
  | stack=0xe9701000-0xe9703000 stackSize=1022KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 000000000001fdf8  /system/lib/libc.so (syscall+40)
  #02  pc 00000000000abbde  /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+110)
  #03  pc 00000000000abb63  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+35)
  #04  pc 00000000005300c5  /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+261)
  #05  pc 000000000052f495  /system/lib/libart.so (art::ThreadPoolWorker::Run()+117)
  #06  pc 000000000052eebb  /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+139)
  #07  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #08  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"ADB-JDWP Connection Control Thread" tid=4 
"ADB-JDWP Connection Control Thread" daemon prio=0 tid=4 WaitingInMainDebuggerLoop
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x135803c8 self=0xe980bc00
  | sysTid=20337 nice=0 cgrp=default sched=0/0 handle=0xd549e970
  | state=S schedstat=( 2438292 16712408 11 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xd53a3000-0xd53a5000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b39  [vdso] (__kernel_vsyscall+9)
  #01  pc 00000000000765c6  /system/lib/libc.so (__ppoll+38)
  #02  pc 000000000002d1da  /system/lib/libc.so (poll+90)
  #03  pc 000000000004c19f  /system/lib/libc.so (__poll_chk+47)
  #04  pc 000000000000670b  /system/lib/libadbconnection.so (adbconnection::AdbConnectionState::RunPollLoop(art::Thread*)+955)
  #05  pc 0000000000004a16  /system/lib/libadbconnection.so (adbconnection::CallbackFunction(void*)+1110)
  #06  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #07  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"ReferenceQueueDaemon" tid=5 Waiting 
"ReferenceQueueDaemon" daemon prio=5 tid=5 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x13580450 self=0xef5c4e00
  | sysTid=20338 nice=4 cgrp=default sched=0/0 handle=0xd53a0970
  | state=S schedstat=( 1307789 2990301 4 ) utm=0 stm=0 core=1 HZ=100
  | stack=0xd529d000-0xd529f000 stackSize=1042KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x00c933bc> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
  at java.lang.Daemons$ReferenceQueueDaemon.runInternal (Daemons.java:178)
- locked <0x00c933bc> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
  at java.lang.Daemons$Daemon.run (Daemons.java:103)
  at java.lang.Thread.run (Thread.java:764)
"Binder:20325_1" tid=7 Native 
"Binder:20325_1" prio=5 tid=7 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x135804d8 self=0xef579a00
  | sysTid=20342 nice=0 cgrp=default sched=0/0 handle=0xd4e8a970
  | state=S schedstat=( 14187015 26025357 21 ) utm=1 stm=0 core=0 HZ=100
  | stack=0xd4d8f000-0xd4d91000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 000000000007649c  /system/lib/libc.so (__ioctl+28)
  #02  pc 000000000002a89c  /system/lib/libc.so (ioctl+60)
  #03  pc 0000000000045247  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+391)
  #04  pc 000000000004545a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
  #05  pc 0000000000045d58  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
  #06  pc 0000000000070f59  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
  #07  pc 000000000000e616  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+326)
  #08  pc 00000000000741fb  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+171)
  #09  pc 000000000000df76  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
  #10  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #11  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"Binder:20325_2" tid=8 Native 
"Binder:20325_2" prio=5 tid=8 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580560 self=0xe9812800
  | sysTid=20343 nice=0 cgrp=default sched=0/0 handle=0xd4d8c970
  | state=S schedstat=( 946628 6361095 10 ) utm=0 stm=0 core=1 HZ=100
  | stack=0xd4c91000-0xd4c93000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 000000000007649c  /system/lib/libc.so (__ioctl+28)
  #02  pc 000000000002a89c  /system/lib/libc.so (ioctl+60)
  #03  pc 0000000000045247  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+391)
  #04  pc 000000000004545a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
  #05  pc 0000000000045d58  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
  #06  pc 0000000000070f59  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
  #07  pc 000000000000e616  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+326)
  #08  pc 00000000000741fb  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+171)
  #09  pc 000000000000df76  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
  #10  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #11  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"FinalizerWatchdogDaemon" tid=9 Sleeping 
"FinalizerWatchdogDaemon" daemon prio=5 tid=9 Sleeping
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x135805e8 self=0xef5c5a00
  | sysTid=20340 nice=4 cgrp=default sched=0/0 handle=0xd5194970
  | state=S schedstat=( 491705 25200791 8 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xd5091000-0xd5093000 stackSize=1042KB
  | held mutexes=
  at java.lang.Thread.sleep (Native method)
- sleeping on <0x02d67f45> (a java.lang.Object)
  at java.lang.Thread.sleep (Thread.java:373)
- locked <0x02d67f45> (a java.lang.Object)
  at java.lang.Thread.sleep (Thread.java:314)
  at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor (Daemons.java:342)
  at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization (Daemons.java:364)
  at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal (Daemons.java:281)
  at java.lang.Daemons$Daemon.run (Daemons.java:103)
  at java.lang.Thread.run (Thread.java:764)
"FinalizerDaemon" tid=10 Waiting 
"FinalizerDaemon" daemon prio=5 tid=10 Waiting
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x13580670 self=0xef5c5400
  | sysTid=20339 nice=4 cgrp=default sched=0/0 handle=0xd529a970
  | state=S schedstat=( 2911944 33000230 4 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd5197000-0xd5199000 stackSize=1042KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0479669a> (a java.lang.Object)
  at java.lang.Object.wait (Object.java:422)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:188)
- locked <0x0479669a> (a java.lang.Object)
  at java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:209)
  at java.lang.Daemons$FinalizerDaemon.runInternal (Daemons.java:232)
  at java.lang.Daemons$Daemon.run (Daemons.java:103)
  at java.lang.Thread.run (Thread.java:764)
"Binder:20325_3" tid=11 Native 
"Binder:20325_3" prio=5 tid=11 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580790 self=0xe6bf0400
  | sysTid=20345 nice=0 cgrp=default sched=0/0 handle=0xd4c8e970
  | state=S schedstat=( 1371862 22934053 6 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xd4b93000-0xd4b95000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 000000000007649c  /system/lib/libc.so (__ioctl+28)
  #02  pc 000000000002a89c  /system/lib/libc.so (ioctl+60)
  #03  pc 0000000000045247  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+391)
  #04  pc 000000000004545a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
  #05  pc 0000000000045d58  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
  #06  pc 0000000000070f59  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
  #07  pc 000000000000e616  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+326)
  #08  pc 00000000000741fb  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+171)
  #09  pc 000000000000df76  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
  #10  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #11  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"Binder:20325_4" tid=12 Native 
"Binder:20325_4" prio=5 tid=12 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580818 self=0xe9823400
  | sysTid=20346 nice=0 cgrp=default sched=0/0 handle=0xd4b90970
  | state=S schedstat=( 21139561 15441875 44 ) utm=2 stm=0 core=3 HZ=100
  | stack=0xd4a95000-0xd4a97000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 000000000007649c  /system/lib/libc.so (__ioctl+28)
  #02  pc 000000000002a89c  /system/lib/libc.so (ioctl+60)
  #03  pc 0000000000045247  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+391)
  #04  pc 000000000004545a  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+42)
  #05  pc 0000000000045d58  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+72)
  #06  pc 0000000000070f59  /system/lib/libbinder.so (android::PoolThread::threadLoop()+41)
  #07  pc 000000000000e616  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+326)
  #08  pc 00000000000741fb  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+171)
  #09  pc 000000000000df76  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
  #10  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #11  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"Profile Saver" tid=13 Native 
"Profile Saver" daemon prio=5 tid=13 Native
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x135808a0 self=0xef574c00
  | sysTid=20357 nice=9 cgrp=default sched=0/0 handle=0xd428f970
  | state=S schedstat=( 4215113 2908011 10 ) utm=0 stm=0 core=1 HZ=100
  | stack=0xd4194000-0xd4196000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b39  [vdso] (__kernel_vsyscall+9)
  #01  pc 000000000001fdf8  /system/lib/libc.so (syscall+40)
  #02  pc 00000000000ac054  /system/lib/libart.so (art::ConditionVariable::TimedWait(art::Thread*, long long, int)+148)
  #03  pc 0000000000360b66  /system/lib/libart.so (art::ProfileSaver::Run()+886)
  #04  pc 0000000000364c5f  /system/lib/libart.so (art::ProfileSaver::RunProfileSaverThread(void*)+95)
  #05  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #06  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"Thread-3" tid=14 Native Performing network I/O
"Thread-3" prio=5 tid=14 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580928 self=0xeb5af000
  | sysTid=20360 nice=0 cgrp=default sched=0/0 handle=0xd4191970
  | state=S schedstat=( 388080 1698057 2 ) utm=0 stm=0 core=3 HZ=100
  | stack=0xd408e000-0xd4090000 stackSize=1042KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 00000000000760f9  /system/lib/libc.so (__accept4+25)
  #02  pc 0000000000000e1d  /system/lib/libnetd_client.so ((anonymous namespace)::netdClientAccept4(int, sockaddr*, int*, int)+61)
  #03  pc 0000000000022f97  /system/lib/libc.so (accept4+39)
  #04  pc 0000000000022f65  /system/lib/libc.so (accept+37)
  #05  pc 00000000000220af  /system/lib/libjavacore.so (Linux_accept(_JNIEnv*, _jobject*, _jobject*, _jobject*)+191)
  at libcore.io.Linux.accept (Native method)
  at libcore.io.BlockGuardOs.accept (BlockGuardOs.java:59)
  at android.system.Os.accept (Os.java:41)
  at android.net.LocalSocketImpl.accept (LocalSocketImpl.java:336)
  at android.net.LocalServerSocket.accept (LocalServerSocket.java:91)
  at com.android.tools.ir.server.Server$SocketServerThread.run (Server.java:165)
  at java.lang.Thread.run (Thread.java:764)
"RenderThread" tid=15 Native 
"RenderThread" daemon prio=7 tid=15 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580d40 self=0xeb5af600
  | sysTid=20379 nice=-10 cgrp=default sched=0/0 handle=0xd408b970
  | state=S schedstat=( 204421689 94530352 504 ) utm=13 stm=7 core=1 HZ=100
  | stack=0xd3f90000-0xd3f92000 stackSize=1010KB
  | held mutexes=
  #00  pc 0000000000000b39  [vdso] (__kernel_vsyscall+9)
  #01  pc 000000000007621b  /system/lib/libc.so (__epoll_pwait+43)
  #02  pc 0000000000031e8d  /system/lib/libc.so (epoll_wait+45)
  #03  pc 0000000000013567  /system/lib/libutils.so (android::Looper::pollInner(int)+183)
  #04  pc 000000000001340b  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+43)
  #05  pc 00000000000c4535  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+293)
  #06  pc 000000000000e616  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+326)
  #07  pc 000000000000df76  /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+246)
  #08  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #09  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"queued-work-looper" tid=16 Native 
"queued-work-looper" prio=5 tid=16 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580dc8 self=0xe6bd1800
  | sysTid=20383 nice=-2 cgrp=default sched=0/0 handle=0xd3f8d970
  | state=S schedstat=( 343963 1987933 1 ) utm=0 stm=0 core=1 HZ=100
  | stack=0xd3e8a000-0xd3e8c000 stackSize=1042KB
  | held mutexes=
  #00  pc 0000000000000b39  [vdso] (__kernel_vsyscall+9)
  #01  pc 000000000007621b  /system/lib/libc.so (__epoll_pwait+43)
  #02  pc 0000000000031e8d  /system/lib/libc.so (epoll_wait+45)
  #03  pc 0000000000013567  /system/lib/libutils.so (android::Looper::pollInner(int)+183)
  #04  pc 000000000001340b  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+43)
  #05  pc 00000000000e414b  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
  at android.os.MessageQueue.nativePollOnce (Native method)
  at android.os.MessageQueue.next (MessageQueue.java:326)
  at android.os.Looper.loop (Looper.java:160)
  at android.os.HandlerThread.run (HandlerThread.java:65)
"OkHttp ConnectionPool" tid=18 TimedWaiting 
"OkHttp ConnectionPool" daemon prio=5 tid=18 TimedWaiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x13580f60 self=0xeb59f400
  | sysTid=20393 nice=0 cgrp=default sched=0/0 handle=0xd2897970
  | state=S schedstat=( 1087347 0 3 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xd2794000-0xd2796000 stackSize=1042KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x0a0fcbcb> (a com.android.okhttp.ConnectionPool)
  at com.android.okhttp.ConnectionPool$1.run (ConnectionPool.java:101)
- locked <0x0a0fcbcb> (a com.android.okhttp.ConnectionPool)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
  at java.lang.Thread.run (Thread.java:764)
"Okio Watchdog" tid=19 Waiting 
"Okio Watchdog" daemon prio=5 tid=19 Waiting
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x12d827e8 self=0xeb59fa00
  | sysTid=20394 nice=0 cgrp=default sched=0/0 handle=0xd2791970
  | state=S schedstat=( 842638 0 1 ) utm=0 stm=0 core=2 HZ=100
  | stack=0xd268e000-0xd2690000 stackSize=1042KB
  | held mutexes=
  at java.lang.Object.wait (Native method)
- waiting on <0x02d3cfa8> (a java.lang.Class<com.android.okhttp.okio.AsyncTimeout>)
  at com.android.okhttp.okio.AsyncTimeout.awaitTimeout (AsyncTimeout.java:311)
- locked <0x02d3cfa8> (a java.lang.Class<com.android.okhttp.okio.AsyncTimeout>)
  at com.android.okhttp.okio.AsyncTimeout.access$000 (AsyncTimeout.java:40)
  at com.android.okhttp.okio.AsyncTimeout$Watchdog.run (AsyncTimeout.java:286)
"Signal Catcher" tid=3 Runnable 
"Signal Catcher" daemon prio=5 tid=3 Runnable
  | group="system" sCount=0 dsCount=0 flags=0 obj=0x13580340 self=0xef5c3000
  | sysTid=20336 nice=0 cgrp=default sched=0/0 handle=0xe96fe970
  | state=R schedstat=( 5319254 377100 3 ) utm=0 stm=0 core=0 HZ=100
  | stack=0xe9603000-0xe9605000 stackSize=1010KB
  | held mutexes= "mutator lock"(shared held)
  #00  pc 00000000004152f6  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+198)
  #01  pc 000000000051048e  /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+382)
  #02  pc 000000000050b743  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+83)
  #03  pc 000000000052e564  /system/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+916)
  #04  pc 0000000000526286  /system/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+534)
  #05  pc 00000000005254d4  /system/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool)+1316)
  #06  pc 0000000000524ecd  /system/lib/libart.so (art::ThreadList::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+941)
  #07  pc 00000000004ec2c6  /system/lib/libart.so (art::Runtime::DumpForSigQuit(std::__1::basic_ostream<char, std::__1::char_traits<char>>&)+214)
  #08  pc 00000000004fb11e  /system/lib/libart.so (art::SignalCatcher::HandleSigQuit()+1806)
  #09  pc 00000000004f9b8f  /system/lib/libart.so (art::SignalCatcher::Run(void*)+431)
  #10  pc 000000000008f065  /system/lib/libc.so (__pthread_start(void*)+53)
  #11  pc 000000000002485b  /system/lib/libc.so (__start_thread+75)
"HeapTaskDaemon" tid=6 
"HeapTaskDaemon" daemon prio=5 tid=6 WaitingForTaskProcessor
  | group="system" sCount=1 dsCount=0 flags=1 obj=0x135811f8 self=0xef542a00
  | sysTid=20341 nice=4 cgrp=default sched=0/0 handle=0xd508e970
  | state=S schedstat=( 32232431 22685901 51 ) utm=2 stm=1 core=0 HZ=100
  | stack=0xd4f8b000-0xd4f8d000 stackSize=1042KB
  | held mutexes=
  #00  pc 0000000000000b37  [vdso] (__kernel_vsyscall+7)
  #01  pc 000000000001fdf8  /system/lib/libc.so (syscall+40)
  #02  pc 00000000000abbde  /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+110)
  #03  pc 00000000000abb63  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+35)
  #04  pc 000000000023a7b2  /system/lib/libart.so (art::gc::TaskProcessor::GetTask(art::Thread*)+402)
  #05  pc 000000000023b192  /system/lib/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+98)
  #06  pc 00000000004246c7  /system/lib/libart.so (art::VMRuntime_runHeapTasks(_JNIEnv*, _jobject*)+55)
  at dalvik.system.VMRuntime.runHeapTasks (Native method)
  at java.lang.Daemons$HeapTaskDaemon.runInternal (Daemons.java:475)
  at java.lang.Daemons$Daemon.run (Daemons.java:103)
  at java.lang.Thread.run (Thread.java:764)

Dns seeds not working

This is caused by dns resolving times out and this is because it tries to resolve via 127.0.0.1

Options:

  1. Possible solution:
    Use http://proot.me/ a user space chroot mechanism and setup /etc/resolv.conf or /etc/hosts

  2. Faster/hacky solution:
    Use glibc HOSTALIASES env var to pass an arbitrary hosts file ( http://man7.org/linux/man-pages/man3/gethostbyname.3.html )

Either way if the hosts file is used it needs to be generated at run time by resolving the dns servers just before starting the node

  1. Preferred solution: reimplement it properly:
    Compile Core using the Android NDK, this should reduce the binary size (and it's dependencies) but it will require building and hosting various architectures just for Android.

Use getblockchaininfo for progress estimation

Bitcoin Core has a built in progress estimator for verification progress, in the getblockchaininfo RPC, under key verificationprogress, which is based on estimated total transaction count rather than block height, and should be more accurate (but it's far from perfect either).

bitcoind native crash while running abcore

I meet a native crashed while bitcoind try to read 000026.ldb.

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Revision: '0'
ABI: 'arm64'
pid: 4716, tid: 4742, name: bitcoind  >>> /data/data/com.greenaddress.abcore/no_backup/bitcoind <<<
signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 0x733380d989

backtrace:
    #00 pc 00000000006339e0  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #01 pc 000000000063460c  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #02 pc 0000000000636684  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #03 pc 00000000006367f4  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #04 pc 000000000063626c  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #05 pc 0000000000630714  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #06 pc 0000000000616a84  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #07 pc 0000000000615d78  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #08 pc 0000000000615ac8  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #09 pc 0000000000615a50  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #10 pc 000000000063ee3c  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #11 pc 000000000063eda4  /data/data/com.greenaddress.abcore/no_backup/bitcoind (offset 0x250000)
    #12 pc 0000000000077660  /system/lib64/libc.so (__pthread_start(void*)+36)
    #13 pc 000000000001f9f4  /system/lib64/libc.so (__start_thread+68)
    
    
memory map (199 entries):
(fault address prefixed with --->)
    00000062'c752d000-00000062'c776ffff r--         0    243000  /data/data/com.greenaddress.abcore/no_backup/bitcoind
    00000062'c777d000-00000062'c7e65fff r-x    250000    6e9000  /data/data/com.greenaddress.abcore/no_backup/bitcoind (load bias 0x250000)
    00000062'c7e6d000-00000062'c7e7cfff rw-    940000     10000  /data/data/com.greenaddress.abcore/no_backup/bitcoind
    00000062'c7e7d000-00000062'c7eaefff r--    950000     32000  /data/data/com.greenaddress.abcore/no_backup/bitcoind
    00000062'c7eaf000-00000062'c7ec7fff rw-         0     19000
    00000073'29bb6000-00000073'29dc8fff r--         0    213000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000057.ldb
    00000073'29dc9000-00000073'29fdafff r--         0    212000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000056.ldb
    00000073'29fdb000-00000073'2a1edfff r--         0    213000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000055.ldb
    00000073'2a1ee000-00000073'2a3fffff r--         0    212000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000054.ldb
    00000073'2a400000-00000073'2a611fff r--         0    212000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000053.ldb
    00000073'2a612000-00000073'2a823fff r--         0    212000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000052.ldb
    00000073'2a824000-00000073'2aa35fff r--         0    212000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000051.ldb
    00000073'2aa36000-00000073'2ac47fff r--         0    212000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000050.ldb
    00000073'2ac48000-00000073'2bae8fff r--         0    ea1000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000045.ldb
    00000073'2bae9000-00000073'2c95bfff r--         0    e73000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000043.ldb
    00000073'2c95c000-00000073'2d7acfff r--         0    e51000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000041.ldb
    00000073'2d7ad000-00000073'2e67cfff r--         0    ed0000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000039.ldb
    00000073'2e67d000-00000073'2f53afff r--         0    ebe000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000037.ldb
    00000073'2f53b000-00000073'3040efff r--         0    ed4000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000035.ldb
    00000073'3040f000-00000073'31396fff r--         0    f88000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000033.ldb
    00000073'31397000-00000073'32341fff r--         0    fab000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000031.ldb
    00000073'32342000-00000073'33202fff r--         0    ec1000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000028.ldb
--->00000073'33203000-00000073'34010fff r--         0    e0e000  /mnt/media_rw/672F-3B5D/Android/data/com.greenaddress.abcore/files/.bitcoin/breeze/chainstate/000026.ldb
    

[ASK] Node Port

Did The Port Is Set Default To :8333?
Are There Anyway To Change This BTW?

feature request: Implement activity class for starting the deamon on/off

This is similar to #75; it would be practical to implement activity classes to be able to control the deamon from outside applications, like Automate or IFTTT. Two simple activities "Turn on" and "Turn off" would suffice to setting up pretty complex workflows around ABCore.

If implemented, it is quite straightforward to script #75 even without direct implementation in ABCore.

Thanks for consideration!

crash during testnet sync, pre-allocating up to position 0x900000 in rev00006.dat

I've tried on a real device (nexus 5x) and emulator, and sync on testnet always fails at around 3% progress

the last thing logged is

pre-allocating up to position 0x900000 in rev00006.dat

core crashes and when restarting the sync process never restarts getting stuck at

Failed to open mempool file from disk. Continuing anyway 

Wallets unable to connect to ABCore full node

I am using v0.73 of ABCore, but the wallets are unable to connect to the full node, tried with Blockstream Green Wallet, as well as with Bitcoin Lightning Wallet, both the wallets are unable to connect to the ABCore.

I am running ABCore on OnePlus One phone, and I have the wallets on Redmi Note 5 phone. I have installed Orbot, and enabled Green Wallet and Bitcoin Lightning Wallet as Tor-Enabled Apps.

Pruning is enabled, and has been set to 1000 MB

Is there any setting I need to do in bitcoin.conf file to make this work? Thanks.

PARAM_ONION_MSG is sometimes null

Writing some code to fix #23, and about 10% of the time my build fails with error:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference

At MainActivity line 229.

I believe it is possible for for the intent extra PARAM_ONION_MSG to be null under a range of different conditions, not sure how you would prefer to fix. It would be easy to check for null, but then sometimes there would be no QR code displayed.

Pruning support

I'm unable to set up abcore with pruning support. Even when adding it manually to bitcoin.conf, setup fails due to alleged lack of storage.

Ideally, there is a config option for pruning (set by default for 0.12!), and this is taken into account for disk space calculations.

Cannot find my node on BITNODES?

It shows an onion address on the main page after the service started
Such as bitcoin-p2p://53j42f5sdubuejtk.onion

I copy the onion address the check my node on https://bitnodes.earn.com/
But it shows the result "53j42f5sdubuejtk.onion:8333 is unreachable"

How can I find my node?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.