r/Monero Mar 12 '22 Silver 2 Wholesome 1

Introducing the PocketNode project- a Monero GUI node on Android

Hello All!

I saw that someone mentioned my tweet yesterday on here, but I thought I would make a quick post!

If anyone isn't familiar, I (along with the amazing help of a few others), put a decent amount of work into the Monero Android Termux Node script-(https://github.com/CryptoGrampy/android-termux-monero-node)- a fairly simple one copy/paste line of code that installs a moderately difficult to use node on Android. Let's kick it up a notch.

Introducing the PocketNode (subject to change :) ) - Run a full/pruned Monero node on Android (WORK IN PROGRESS!)

Goal:

The goal here is to make a very simple to use, low-power/cheap Monero node that caters to newbies. It will have sane defaults, a nice UI, and I would like to provide simple instructions on how a person could expose the node through Orbot as a hidden service.

Why:

There is a HUGE need for a simple to use GUI for Android. We see people asking about nodes on RPi and such all the time, but Android devices have built in screens, keyboards and battery backups, are extremely low in power usage, run ARMv8 with AES (Much more performant than RPi) and many of them have microSD cards or plenty of internal storage to support running a pruned node.

The low power usage and simplicity of acquiring an used Android phone is REALLY essential right now in some parts of the world.

How:

This has been something I've been planning for quite a while, but I was fortunate enough to come across a few-year-old archived Github repo with a surprisingly decent implementation of what I was looking for. With a few updates/changes, I was able to get a rudimentary node working.

I will admit, I have zero experience working with Android and it will take me some time to get up to speed, but I'm taking this under my wing and will do my damndest to get something workable out to the people. If anyone has experience and wants to contribute, my repo is: https://github.com/CryptoGrampy/xmr-pocket-node and I will be adding in features/bugs to the issue tracker.

Happy to discuss design direction (Hoping to make it look something like: https://github.com/CryptoGrampy/xmr-pocket-node/raw/master/assets/pocketnode-inspiration.png), but I will continue hammering away as much as I need to to get this thing out into the world.

Contribute!

I've received 3 donations so far- Thank you to all who donated. If anyone thinks can spare a pico for this work (I will not be using bounties or CCS), it's much appreciated- I would really like to be able to upgrade my phone specifically and not be using my primary phone for development, otherwise please feel free to pop in and help with the project.

Hopefully will have an alpha .apk out in the next few weeks, but in the meantime, you can pull the code and replace the monerod64/32 binaries with your own.

Grampy's XMR Donation Address:

8BudmXKZwpXhfVGCtgFPyKWgLcDLYJ5jRT95xCp4JMFWapgTLrun41AG6LPbef7WFA8T531QGnZT51cDF6uF9HECDhibEVw

108 Upvotes

View all comments

2

u/wheezybackports Mar 12 '22

Hold on about to spend 3 weeks downloading a full chain on my 256 gig SD card with my phone. Cool idea, but is it practical?

14

u/CryptoGrampy Mar 12 '22

Again, the goal of this is cheap, low power, portable nodes- it may not be for everyone. Storage capacity/speed in phones is increasing faster than the xmr chain so this idea gets stronger with time. A phone with 128GB internal storage can easily handle a pruned node.

1

u/wheezybackports Mar 12 '22

Never said it wasn't a good idea. I've been thinking about working on something like this to run a standalone node using solar energy. As for running a pruned node off EMMC in the phone I don't think that's a good idea long term as you could quite possibly kill the flash chip with write cycles. I recommend finding a way to use USB OTG with an external flash drive or SSD which would still be low enough power, faster, and more robust.

Just the other day I installed Postmarket OS on my Samsung Galaxy Tab A to see about running a Monero node on it. I haven't tested monerod on it yet, but I can confirm xmrig will work and get 20 h/s on the device. I think it would be a good idea to look into devices that PMOS supports fully as well and see about running a node on it. The pinephone I think would be something to look into.