Hallo,
nach geduldigem Ausprobieren und Testen kann ich endlich sagen, daß ich einen Bitcoin Full Node
auf einem Raspberry Pi Modell B in
stabilen Betrieb genommen habe.
bitcoind 0.10.1 (auf RPI compiliert)
blockchain auf sd-card ca. 39GB alternativ über NFS auf NAS oder USB Stick > 64GB
ohne wallet (kann auch mit wallet betrieben werden)
24x7 Betrieb
16 Verbindungen
64GB SD-Card
Raspberry PI Modell B (512MB RAM)
CPU & GPU Kühlkörper
passive Kühlung Chipsatzkühler -> 45°C CPU Temperatur
aktive Kühlung 4cm Lüfter -> 35°C CPU Temperatur
Speicherbelegung ca. 40% - 60%
CPU Last ca. 2 - 3 @ 700MHz / 1.2V
watchdog Funktion
Swapfile 1GB auf angeschlossenem USB Stick
Leistungverbrauch ca. 3.5Watt @ 700MHz oder 3.8Watt @ 950MHz
automatischer restart von bitcoind im Fehlerfall
RPIMonitor zur Überwachung des RPI von Xavier Berger (
https://github.com/XavierBerger/RPi-Monitor)
bitcoind-status zur Überwachung des bitcoin daemon von Craig Watson (
https://github.com/craigwatson/bitcoind-status)
RPC Funktionen verfügbar
Port 8333 auf dem Router per NAT geöffnet
Betriebskosten ca.
0,72 € im Monat (@ 25ct/kWh)
start Skript des bitcoin daemon/usr/local/bin/bitcoind -datadir=/opt/bitcoin -dns -noupnp -maxconnections=16 -timeout=5000 -noirc -gen=0 -maxorphantx=25 -maxorphanblocks=25 -server -rpcuser=user-rpcpassword=mypass -rpcallowip=192.168.1.0/255.255.255.0 -rpcbind=192.168.1.1 -rpcport=8332 -dbcache=25 -daemon -checkblocks=25 -maxreceivebuffer=1250 -maxsendbuffer=250 -disablewallet
renice 20 `pidof bitcoind`> /dev/nullstop Skript des bitcoin daemonkill -9 `pidof bitcoind`
test -e bitcoind.pid && rm -f ./bitcoind.pidalternativ und sauberer:
Achtung benötigt in /root/.bitcoin bitcoin.conf (rpcuser, rpcpassword, rpcconnect eintragen)bitcoin-cli stopcrontab Eintragjede Minute wird geprüft ob der bitcoind läuft und bei Bedarf wird dieser nachgestartet
*/1 * * * * ( ( /bin/ps ax | /bin/grep -v grep | /bin/grep -q bitcoind ) || ( cd /opt/bitcoin && ./start.sh && echo `date` bitcoind start over again >> /opt/bitcoin/debug.log ) )Die Werte für maxconnections, dbcache, maxreceivebuffer und maxsendbuffer beeinflussen die Speichernutzung. Je kleiner desto weniger Speicher wird benötigt.
Als nächstes teste ich den Betrieb mit wallet. -> Funktioniert ohne Probleme
Vielleicht kann jemand mit den Skripten etwas anfangen und läßt auch einen Bitcoin Full Node auf einem RPi laufen.
Klar ist der Betrieb eines Bitcoin Node auf einem RPi 2 Modell B von Vorteil.
Allerdings gibt es noch viele RPi 1 Modell B(+) im Umlauf, die der eine oder andere gern auch einsetzen möchte.
Deshalb hier dieser Post.
gruß
pazor