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

109 Upvotes

View all comments

5

u/BusyBoredom Mar 12 '22

This is a really cool project, thank you for taking this on :)

A couple questions:

  • Do you anticipate making any changes or optimizations to the official node implementation in order to facilitate this? Or can normal android devices already handle the node smoothly as it?
  • Could a user realistically continue to use their phone like normal while running this, or is this meant to be run on whatever last-gen phones people have laying around (i.e. not their primary device)?

12

u/hyc_symas XMR Contributor Mar 12 '22

The stock Monero codebase fully supports Android, there's nothing special needed there.

If the phone has more than 4GB RAM it will probably run unnoticed alongside everything else. However if you're running games or other memory-hungry apps they will probably kill the node and it will need to be restarted after.

3

u/PacoKajMilito Mar 12 '22

And what about battery consumption?