Author

Topic: [Attempt and Constraint] - Running ABCore node on a mobile device (Read 112 times)

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Just for a first attempt purpose, but I will try out a personal computer when I get one. But hope this risk isn't applicable to other devices, other than mobile devices?.

Generally, all the alternative implementations of the Bitcoin protocol except for Bitcoin Core are going to be at least to some degree lagging behind Core in terms of patches and bug
 fixes.

It shouldn't affect you much, other than the occasional softfork that other implementations are slow to implement, but fortunately for you that occurs only rarely.
full member
Activity: 252
Merit: 175
cout << "Bitcoin";
I showed interest in trying it out on a mobile device.

I didn't expect you'd actually try it. In case you didn't notice, ABCore last released on 2019. Meanwhile smartino last updated last year, but using even older dependency.

Of course. Even though the tools (PC) to run it own my own isn't available, I have to make use of what I have so I can at least have a basic idea. Then later on when the tools are available, I won't find it tool complicating.

Just as NotATether has explained about the risk of using a mobile device which I wasn't aware of until now, it's important I grab the basics of running full or prune nodes. No knowledge is wasted after all.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
From the comment section of that same thread, ABCbits suggested two ways of running a full node on a mobile device: using ABCore or Smartino.

Here's additional context.

There are ways to run full node on mobile devices, such as using ABCore or UserLAnd (where you need to install Linux and Bitcoin Core). But usually it's deemed impractical due to making the device very hot or require decent device to operate smoothly.

Is there a thread that has been created on the forum, that explains how this can be done. I have a mobile device just to try it out.

Check [ANN] Smartino - Android Bitcoin Core Full Node. It use Androidx rather than UserLAnd, but the principle is similar. ABCode also have it's own announcement thread on [ANN] ABCore - the first Bitcoin Core running on Android - Support Thread, but has little description.



I showed interest in trying it out on a mobile device.

I didn't expect you'd actually try it. In case you didn't notice, ABCore last released on 2019. Meanwhile smartino last updated last year, but using even older dependency.
full member
Activity: 252
Merit: 175
cout << "Bitcoin";
When you are running a node using mobile data, the ISP is probably able to see all the data coming to and from the bitcoin node implementation since it's probably not supporting the BIP324 transport mode yet, meaning everything is unencrypted. That is one of the risks you take when you run a node on a mobile device. Same with WiFi, wired internet on any home network.

And there's a strong chance that ABCore does not have all the patches from the latest Bitcoin Core like the one I mentioned above.

Just for a first attempt purpose, but I will try out a personal computer when I get one. But hope this risk isn't applicable to other devices, other than mobile devices?.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
When you are running a node using mobile data, the ISP is probably able to see all the data coming to and from the bitcoin node implementation since it's probably not supporting the BIP324 transport mode yet, meaning everything is unencrypted. That is one of the risks you take when you run a node on a mobile device. Same with WiFi, wired internet on any home network.

And there's a strong chance that ABCore does not have all the patches from the latest Bitcoin Core like the one I mentioned above.
full member
Activity: 252
Merit: 175
cout << "Bitcoin";
I am not sure if the Bitcoin software is available for mobile devices, which excludes them from the category of devices that can operate smoothly.

The quoted text above was a statement I made in my previous post, expressing uncertainty about the existence of mobile devices running full nodes. From the comment section of that same thread, ABCbits suggested two ways of running a full node on a mobile device: using ABCore or Smartino. I showed interest in trying it out on a mobile device.

Smartino
For this particular node, I tried following the installation procedure as written on GitHub but ended up getting an error notification. Though the first command, which is to set up storage, worked, but the error notification popped up afterward.

ABCore
At first, I couldn't find ABCore on the Play Store, so I wasn't too sure of the possible risks of downloading it directly to my device from GitHub. I tried it anyway, just to get a first look at how it's done. Unfortunately, ABCore has some limitations that affect me due to the specs of my device. My mobile device uses 4GB of RAM, but the ROM isn't as large as the one recommended to run ABCore. There is also a limitation on data connections allowed. I happen to use 4G, which is not also encourage.

But none of these limitations stopped me from giving it a try.

The first image on the left represents a basic setup area for wallets, testnet, pruning, and blocks only. If you observe the first image, you will notice that the default pruning MB is set to 1000MB, which I adjusted to 5000MB for a start.

The first image image above pops up when you click the peer menu. I don't really know what it means, but currently mined blocks keep popping up here whenever you refresh the page. And finally, the synchronizing section. I guess this section is trying to download all available blocks. Unfortunately for me, my data connection (4G) was very poor, and I could only get to a block height of 135K. The progress bar couldn't load anything due to my poor data connection.

Note that the app is still in a very Proof of Concept/Alpha stage as stated on GitHub.

As much as I would like to run a node, I think it requires preparation and the necessary tools to accomplish it.

My Observations
1. A fast data connection is required.
2. Good storage.
3. A more flexible device such as a PC/laptop would work just fine and efficiently due to their larger sizes in RAM, ROM, battery life, clock speed, etc.

My Question:
Quote from:  from GitHub
During the initial configuration it connects to Github to fetch the required binaries and once it is installed it only communicates with the rest of the Bitcoin network like any normal full node.

1. I noticed the node's apk is small in size which is less than 2mb in size. Why was it created that way?, knowing fully well that it performs a massive task like downloading large number of blocks.

2. Is there any solution/guidelines in using the Smartino node, and how to pass the error message?.



I am 100% open to correction as I still see myself as a learner. Pardon any of my error and share your personal opinion. You might want to also DYOR after reading this.


I had to alter some numbers in the IP port image above, as I wasn't too sure of what it is use for.

ABCore GitHub: https://github.com/greenaddress/abcore
Smartino GitHub: https://github.com/smartm0use/smartino?tab=readme-ov-file
Jump to: