shermand100 / PiNodeXMR

Monero Node for Single Board Computers with Web Interface and additional tools pre-configured. Self Installing.
GNU General Public License v3.0
213 stars 40 forks source link

Raspberry Pi most likely inadequate for future Node Use #65

Open ChiefGyk3D opened 2 years ago

ChiefGyk3D commented 2 years ago

In my testing and research for the upcoming hardfork for July, and it seems they will be increasing the requirements on nodes to keep up even more. Last I checked pre RockPro64 it already was taking 3-4 weeks to sync with a Samsung T5 SSD over USB 3.0 to a Pi4 4GB and the Pi line lacks AES accelerations which are pretty vital to Monero these days.

During a Twitter Space for the upcoming Monero node (if I recall hosted by Monero Outreach) they actually are recommending MINIMUM of 2GB of RAM now, effectively killing Pi 3B+ and earlier support. So I had mentioned the issue of new overhead and they actively recommend against a Pi for nodes at this time with new upgrades. We can test this independently, but I fear we will be corroborating their findings.

I understand the project is called PiNodeXMR and the Raspberry Pi is one of the easiest platforms for people to hop on and have access to, but I feel like it may be doing a major disservice to newcomers not understanding the hardware limitations and it's already taking weeks to do initial syncs on it. I understand there are ways to use your PC to download the chain and load it elsewhere, but most people want to have a fully self contained system that are tinkering with this project and until the Raspberry Pi Foundation releases models with AES acceleration, I think we need to make notes and disclaimers about the performance issues currently and in the future.

This isn't an easy thing to discuss/implement and I understand but the nature of technology and the requirements always changes. I remember before I found this project I had my own Monero Nodes running over Tor I cobbled together on my own (now abandoned since I found this project years ago) that was running on HDD and Odroid HC2. I now have them collecting dust as PiNodeXMR no longer can even perform fast enough due to the HDD limitations, which led me to being one of the first to test, evaluate, and upgrade to the RockPro64 platform in #39 with some additional tweaks for better performance. But I have to think of the many new users unfamiliar with cryptocurrency, that are coming in expecting this to work 100% off the bat.

I'd rather people start off hitting the ground running and have an overall positive experience with this project. Because I love this project, it has a great purpose, and it did a far better job than my own cobbled together system I used for years. It's a great project I and many others used to learn more about cryptocurrency and cybersecurity I just want to overall see have the best experience and success.

shermand100 commented 2 years ago

I agree completely. The Raspberry Pi is certainly behind the curve with it's lack of crypto instructions and this even shows in the time is takes for a Pi to build Monero from source let alone sync. It'll be interesting to see what the next generation of Raspberry Pi brings. Every board is progressing and getting faster and bringing better connectivity with each iteration, but the Pi is a long way behind. Hopefully they make the right choices.

In the short term this v5 PiNodeXMR has introduced "light-mode" where the pre-compiled binaries are sought from getmonero.org which enhances the user experience by removing the 8hr build time on a Pi3 or less powerful but as you've said you're testing the new v0.18 Monero it'd be interesting to see how real these increased system requirements are. Whether the old Pi's are even useable will be interesting.

So going forward I agree in dissuading people from buying a Pi for this purpose. The RockPro64 is a fantastic alternative and I expect similar performance from the Rock Pi 4/5 and should be recommended. We'll see what the uptake for light-mode is for convenience, then see how the Pi functions (if at all) on the v0.18 Monero.

As for warnings/guidance I think it best to include them everywhere that the Pi is sub-optimal. We have quite a lot of information spread around (The hardware Wiki, Github, PiNode.co.uk) And I'm not sure where we on-board mostly from.

But another angle... I'm also thinking that some of this isn't actually about this project though. We have a lot of users that are just tinkerers interested in crypto and there was someone just this week wanting to set one up on an old Odroid HC1. He/she installed PiNodeXMR fine but was adamant on syncing from scratch "because they have time" despite my strong advice that the 32-bit device isn't really up to the task. People will always find old hardware in draws and despite the quite high probability of failure want to "give it a try" anyway. I'm sure this user will learn more about Monero and crypto from this process and potential failure, but I want to encourage people and support them for as easy a build as possible.

I feel this is also a topic amongst many others in the conversation about this projects purpose and future that perhaps a live chat (video/audio or otherwise) could be beneficial to "hash out" ideas.

dawiepoolman commented 2 years ago

I agree since I am one of those users who likes to tinker for the sense of gratification when you debug the living daylight out of these minimalistic setups.
I still have 2 RPi3B+ setups that I try and keep alive for as long as possible whilst I wait for my first RockPro64 to arrive. It will be fantastic to enhance this project to explicitly help with the better SBCs like the RockPro64 e.g. the available OS supported versions seems to be behind on their community forums. How to get such an SBC running on the latest Ubuntu LTS versions with this project will be golden imho