Last week I bought a Raspberry Pi 3 (model B) to set up a proof of concept of a Blockchain connection to IoT devices (but that’s another story) …
Some time ago I read http://www.raspberrypifullnode.com/ and decided, to give it a try now.
This posting will not repeat everything from David’s article, just the changes from then (2014) to now (9/2017).
Micro SD card: The Bitcoin blockchain has a size of around 145 GByte at the moment, which leaves a 256 GB cards as an option, if you really want to store the complete blockchain …
Operating system: As I didn’t have NOOBS at hand, I downloaded the current version of Raspbian Stretch here and used Etcher to „burn“ the image to th SD card.
During the first boot, I connected a monitor and a keyboard, then configured the WiFi and activated the ssh deamon using
sudo raspi-config
After a
sudo reboot
I had a fully working system, which I could control with Putty (and WinSCP).
Now I followed David’s article, but had to apply some changes due to changes in the Bitcoin source. After updating and upgrading with
sudo apt-get update
sudo apt-get upgrade
I installed the dependencies …
sudo apt-get install build-essential autoconf libssl-dev libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libtool libevent-dev
… and then downloaded the current version (branch 0.15) of the Bitcoin source:
mkdir ~/bitcoin
cd ~/bitcoin
git clone -b 0.15 https://github.com/bitcoin/bitcoin.git
cd bitcoin/
The building took „some“ time …
./autogen.sh
./configure --disable-wallet
make
sudo make install
… but in the end everything was OK.
Remark: I chose to build the node with –disable-wallet, as I did not care to run a wallet on the system. See the discussion here concerning Berkley DB 4.8 and incompatible wallet formats …
After starting the deamon with
bitcoind &
it started to connect to other nodes and sync the blockchain …
Voilà – all up and running 😉
Is the 3rd generation of model B’s RAM enough to run a bitcoin full node?
It has 1 GB RAM and 2 GB swapspace. Bitcoind runs without problems using a mempool size of 300 MB (which is the default).
Really love this Tutorial, my 512MB Raspberry Pi 2 was not able to run the build-process. The reason was insufficient avaliable Memory, so I had to increase the avaliable virtual Memory. This tutorial was really helping:
https://www.bitpi.co/2015/02/11/how-to-change-raspberry-pis-swapfile-size-on-rasbian/
Also an addition about ‚how to move the block-chain-database to my USB-drive‘ woule be nice 🙂