On Setting up a Bitcoin Full Node on a Raspberry Pi

  • Post Author:
  • Post Category:Bitcoin

About a month ago I got a Bitcoin full node running on a Raspberry Pi (and later, Lightning). This is how it went down.

1. Get really intimidated and read every article you can.

2. Realize there’s only so much reading you can do before you just have to sit down and do it. As Amy Poehler would say “Talking about the thing isn’t the thing, doing the thing is the thing.”

3. Dig up an old external HD and realize you’ve never seen one outside of a computer before. Research the proper case for it and order one.

4. Dust off an old Linux machine you haven’t turned on in over year. When it doesn’t start, take the case off the desktop computer and fiddle with the power supply connection. Cross reference the docs for Dell error codes and try several more things. Lose hope. In a final attempt to save the computer spray some compressed air into it to clean off some parts. That was all it needed! It works!

5. Figure out how to mount an external hard drive and run bitcoind. Run a testnet node, then a mainnet one. The node still isn’t accepting traffic but that’s a problem for another day.

6. Research Raspberry Pis and figure out what model and accessories to get. Wait for your birthday money before buying anything

7. Get the Raspberry Pi. Realize you didn’t get an SD card because you didn’t understand that’s where the OS goes. Order one. Make sure Amazon completely loses the SD card. Buy a replacement.

8. Format the SD card and add NOOBS to it.

9. Install Raspian on the SD card and boot the pi.

10. Onto installing the Bitcoin client. Get really sad and discouraged because Raspibian doesn’t support ppa packages. It was just so easy with Ubuntu. Unzip the bitcoin client with the GUI. Something still isn’t working…

11. Try two different Ubuntu for Pi installations, all while the micro SD card is ridiculously difficult to physically remove. What is this? A SD card for ants?

12. Abandon the first Ubuntu for Pi install because you don’t have a wifi card. Abandon the second one because of weird headless setup stuff that you don’t need and router configuration that you don’t have the mental capacity to tackle right now (also you don’t know the router password.. another problem for a different day).

13. Find out the micro SD card has shrunk down to 32MB and NOOBS no longer fits on it. How did that happen?! Reformat the card.

14. Go back to Raspbian and use the Raspibolt guide. This is probably where you should have started all along.

✔️ the Bitcoin client works

✔️ the external HD mounts

✔️ port forwarding is set up

15. Get ambitious and reset the router password to something more secure. Somehow lock yourself out. I swear I typed it right… Once back in the router, redo the port forwarding configuration.

And you’re done! A few weeks after I did this I installed Lightning and that was MUCH easier, especially with the Raspibolt guide. So why all the extra effort to do this on a pi? For one, I’ve always wanted to try it and figured this was a good opportunity, and 2. I wanted something completely standalone in case it gets attacked. I don’t know nearly enough about security to trust myself or my desktop.

I have to say, as painful as it was I learned A LOT and the feeling of finally getting it right was awesome. I look forward to less painful Bitcoin/Lightning adventures in the future.