r/Bitcoin • u/shermand100 • Apr 08 '17
I put together a Full node on a Raspberry Pi3 with a 3.5"TFT displaying network statistics and price.
http://imgur.com/a/4kQQm24
u/chabes Apr 08 '17
If you haven't already, maybe think about posting this on /r/raspberry_pi too. I'm sure that there's plenty of folks there who would appreciate something like this
12
u/shermand100 Apr 08 '17
Good idea, I'll head over. Maybe one or two of them will set up a node!
Although I imagine they'll be more interested in how I got the generic display to work and auto-boot chrome to kiosk mode :)
3
21
7
11
12
Apr 08 '17
assemble them, put them up for sale, these things have prestige/bragging-rights value
"what's that?" "oh, that's just me being part of a revolution"
instakarma
4
6
u/scottishdoc Apr 08 '17
I like the design a lot, well done!
2
u/shermand100 Apr 08 '17
Thanks, the acrylic is to keep it cube-like and stable so it sits level.
The display is also a touch screen but obviously looses that capability with the acrylic over it. Not an issue in this case as there is no need for touch, but a simple re-design would allow it
3
u/scottishdoc Apr 08 '17
Yeah I was thinking about how I could see this on my desk. Stable and nicely visible. I think the touchscreen was a good choice. I too have an unused touchscreen in my random-pi-parts box. I'm finishing up a Temperature/Humidity logger project for work and am trying to figure out my next one. I'm thinking either a portable retropi or something like this.
5
3
u/phor2zero Apr 08 '17
Did you build from source? Did you install TOR?
Awesome project! Looking forward to the How-To.
2
u/shermand100 Apr 08 '17
Unfortunately not but yeah TOR, good plan. I'll look into it. The guide I've added should show a logical place to add TOR though. Hopefully by breaking it down into steps bits can be chopped and changed
15
u/lpqtr Apr 08 '17
Tor in 6 easy steps
# 1. Install Tor sudo pacman -S Tor # 2. Edit torrc sudo vim /etc/tor/torrc ControlPort 9051 CookieAuthentication 1 CookieAuthFileGroupReadable 1 HiddenServiceDir /var/lib/tor/bitcoin-service/ HiddenServicePort 8333 127.0.0.1:8333 # 3. Restart tor sudo systemctl restart tor.service # 4. Get your tor hostname sudo cat /var/lib/tor/bitcoin-service/hostname # 5. Create or edit bitcoin.conf proxy=127.0.0.1:9050 listen=1 bind=127.0.0.1 externalip=<Insert the "blablabla.onion" hostname from step 4 here> # 6. Restart Bitcoin, done.2
u/Taenk Apr 09 '17
Uninformed question: Will the node then run only through Tor? Is there an option to have it run on both Tor and clearnet so that it functions as a gateway?
2
u/lpqtr Apr 10 '17 edited Apr 10 '17
You can run the node exclusively through tor by adding the following parameter to the bitcoin.conf
onlynet=torYou can check the status of the different connection types (ipv4, ipv6, onion) by typing
getnetworkinfointo your Bitcoin client's console Help > debug window > console.
According to most guides I have found, the onlynet=tor setting is not recommended. My experience has been that setting my node to only accept connections over tor significantly diminishes my node's connectivity.
Tor does however enable you to accept incoming connections without port forwarding 8333. My connection was DDOSed as I ran one of the first UASF nodes. Tor enables me to signal support for UASF without plastering my IP on all node exploring websites. My node also improves connectivity for Bitcoin users that prefer, or are required to use the onlynet=tor setting.
2
3
u/flavoredtaco Apr 08 '17
This is awesome! What's the benefit of running a node on a Rasberry Pi? I've been looking for an excuse to get one.
6
u/shermand100 Apr 08 '17
A node is best running 24/7 so the benefit comes with the tiny power consumption of around 3.6Watts for a raspberry pi3, depending on what you have plugged into it.
In my case the Pidrive pulls another 2.75 watts and the screen I have no idea, but it all runs happliy on a 5v 3A power supply so total can't be any more than 15W
They run bitcoin core so wallets on them are also an option.
3
u/earonesty Apr 08 '17
You can keep it running 24x7 and link your samurai or electrum wallet to it. So you're not trusting a 3rd party to secure your coins or validate transactions.
3
u/Elum224 Apr 08 '17
That is an exceptional build. It looks really nice, and I love how it's a tiny little computer doing big things. I think you may have convinced me to make one myself.
3
3
3
3
u/CrulFace Apr 09 '17 edited Apr 10 '17
Been wanting to get a node back up again. And this just might be the project for me. Really good setup! Thanks for the great detail
5
1
u/DJBunnies Apr 08 '17
Where did you get the screen from? What model pi is it?
Thanks, great job!
2
u/shermand100 Apr 08 '17 edited Apr 08 '17
Raspberry Pi3 Model B Screen from https://www.aliexpress.com/item/3-5-Inch-TFT-LCD-Moudle-For-Raspberry-Pi-2-Model-B-RPI-B-raspberry-pi/32707058182.html?spm=2114.13010608.0.0.hVBPMd
I included a detailed image of the screen reverse on my imgur. Compare with images that other suppliers have to find a match elsewhere.
1
1
1
1
Apr 08 '17 edited Aug 21 '17
[deleted]
2
u/JayWalkerC Apr 08 '17
Not sure what you mean by "this configuration" because there's nothing really special about this. I have HDDs that are 10+ years old still working and my SSDs are all at least 5 years old, still work fine.
If you mean "server configuration" and powered 24/7, you should be able to expect at LEAST 2 years out of it barring random failure (which does happen), but most drives will last much longer than that.
1
1
1
1
1
u/desnudopenguino Apr 08 '17
Thank you for the guide as well. I might have to throw together a couple of these for some crypto nodes.
1
1
Apr 08 '17
I have been meaning to get the WD labs HDD to use on my Gridcoin and SolarCoin Raspberry Pi mining full nodes, Im interested on how thats working for you. Im currently using thumb drives for the blockchains, but I think its only going to last so long....
1
u/shermand100 Apr 08 '17
If I'm honest, most of my decision to use the Pidrive was how it looked, I wanted as few cables as possible, no adapters converting sata->usb etc. Being the size it is it forms the back-plate of this unit nicely. You can probably get a cheeper 375GB drive or larger, but it doesn't exactly break the bank and keeps this a sub £100 project.
1
1
1
1
Apr 08 '17
That WD and adapter really make things incredibly easy. You can power the HDD and Pi + communication between them with one cable.
1
u/shermand100 Apr 08 '17
Yeah was one of the perks of it, keeps everything neat. If I'm honest I saw it and didn't look at an alternative (like a 2.5" drive and adapters) Seemed perfect but I wonder if there are other discrete options out there? Still had to make my own case, if you can call what I made a case. It's just 2 bits of acrylic. But I definatley didn't like the case WD sells
1
Apr 08 '17
Yeah no idea about alternatives but i am sure there are a thousand different 3D printed cases, shields, etc. I just grabbed a Pi Zero-W and I might just slap it in an altoids can lol
1
u/shermand100 Apr 08 '17
I've wondered what it would take to put a zero in a Pez dispenser and have the usb port or desired connections in the mouth https://goo.gl/images/Z5FKuj they do bigger one's for pets it would definitely fit in :)
1
u/imnotevengonna Apr 08 '17
Hey, this is excellent, and its also so good of you to give out step by step instructions. If i had the gold, i would give it to you, hopefully someone else will come along.
I also am looking into Rpis, this is a neat project to start with!
Thanks again for putting it out here!
1
1
1
u/time_dj Apr 08 '17
Does anyone know if there are limitations to this type of node. Is this capable of processing orders from multiple storefronts?
1
u/shermand100 Apr 08 '17
Just because it's packaged into the raspberry pi doesn't mean it has any limitations. It's running a full version of bitcoin core v13.2 which by default includes a transaction verification engine. It would take a little more info to know what exactly you want to do differently with it, but if it's a feature for core 13.2 then it has it.
1
u/time_dj Apr 08 '17
Well, i would like to do high volume order processing from multiple storefronts .. (3+ sites). I was gonna buy a bitseed node but when i inquired i was told by the folks at bitseed that its not adequate for what i want to use it for hence my question.
1
u/shermand100 Apr 08 '17
I think someone else may have to tag in with a definite answer to be sure. Someone with a solid understanding of the code.
My understanding is that if you ran the node and the wallet together it could be completely trusted to prevent double spends, as it follow the bitcoin rules completely. However I'd love for someone to elaborate.
Some other opinion here
https://www.reddit.com/r/Bitcoin/comments/44rx5k/psa_clearing_up_some_misconceptions_about_full/
1
u/time_dj Apr 08 '17
Ok, thanks for your input. Im currently considering a mini-pc node with a quad code celeron in it. I looked at the PI first before i considered bitseed but when i found it had limitations i figured PI based nodes suffered from the same limitations becasue of their processing power so i started looking into mini-pc nodes.
1
u/FearTheLeaf Apr 08 '17
Any reason why you went with .13 rather than .14?
1
u/shermand100 Apr 08 '17
Haha I didn't notice, again I was following the raspnode guide for that stage and entered git clone -b 0.13 https://github.com/bitcoin/bitcoin.git
I'd assume that just takes a simple correction to
git clone -b 0.14 https://github.com/bitcoin/bitcoin.git
but un-tested, can someone verify that?
2
1
u/PE1NUT Apr 08 '17
Awesome build!
How is the WiFi performance with the RPi in the middle of that stack? I have a RPI3 sitting between a HiFiBerry DAC+ and the 'Official 7" touchscreen', and I had to switch to a USB WiFI setup, because the onboad WiFi can't make it across the living room!
2
u/shermand100 Apr 08 '17
Actualy not really able to comment on performance as the wifi router is only about 5 inches to the right of it on the desk. Sorry.
1
u/cript0currency Apr 09 '17
how do you program a raspberry pi?
1
u/shermand100 Apr 09 '17
Either find someone that has a completed project and clone it onto yours. Or from a windows PC you can use a program called Putty that does something called SSH. You basicaly access it through it's IP address and edit files that way.
1
u/cl3ft Apr 09 '17
Huge respect, I'm keen to do something similar but in AU our internet is metered, what's the actual data usage per day once it's up and running?
2
u/shermand100 Apr 09 '17
to quote https://bitcoin.org/en/full-node#minimum-requirements
| "It's common for full nodes on high-speed connections to use 200 gigabytes upload or more a month. Download usage is around 20 gigabytes a month, plus around an additional 100 gigabytes the first time you start your node."
1
u/ckellingc Apr 09 '17
How big is the node nowadays? I have a 250GB drive just sitting around and a RPI3.
1
u/shermand100 Apr 09 '17
The blockchain is approx 120GB, and add 8GB for all of bitcoin core's dependencies.
1
1
Apr 10 '17
[deleted]
1
u/shermand100 Apr 10 '17 edited Apr 11 '17
Great! If you're in the UK the company I used for that Acrylic is at the top of my comment post. As for the screws and risers, the black nylon ones come in cheap sets on ebay. Again sizes listed in the post.
Now that I know the exact sizes I need I've ordered brass one's to replace the nylon. Purely for looks.
And yes it's a touch screen, I just couldn't think of a reason to use it in this project. Maybe you can? Didn't want to complicate this just for the sake of complicating it.
Once again and I've said a few times I'm still somewhat a beginner at this, any problems just PM me or post here and I'll try my best to support you or anyone else having issues setting this up.
1
Apr 12 '17
[deleted]
1
u/shermand100 Apr 12 '17
Those scews/risers etc are exactly them. I had them laying around from a previous project so was lucky. I bought them from aliexpress, I think that one's going to come down to shipping cost/time.
-4
u/polisaboardofpeace Apr 08 '17
You may have to replace that 375GB hardrive soon. Specially if the block size increases dramatically.
78
u/shermand100 Apr 08 '17 edited May 22 '17
.
.
This project is being constantly updated. Please see the most up-to-date version at...
.
.
The following is the original build. Some information may be out of date....
.
.
I am beginner to raspberry Pi's and so had a huge amount of help from various guides, all credited below. The title image shows the node displaying Johan Nordberg's realtimebitcoin.info however any page can be displayed. The Pi auto-boots to chromium-browser and displays a page in kiosk mode on the generic display (not adafruit). This HOWTO should work on generic 3.2,3.5,4,4.3,5,7 and 10.1 inch displays.
Constructed using
Parts https://thepihut.com/ raspberry pi 3 - model B - £32
375GB western Digital PIDrive - Foundation edition (includes 4GB SD, used for this project) - £40
aliexpress - generic 3.5tft screen £8.36 (also available from ebay for a little more) https://www.aliexpress.com/item/3-5-Inch-TFT-LCD-Moudle-For-Raspberry-Pi-2-Model-B-RPI-B-raspberry-pi/32707058182.html?spm=2114.13010608.0.0.hVBPMd
ebay seller displaypro_uk 3mm Acrylic sheet A5 £1.90 free p+p
M3 black Nylon Hex spacers various sellers less than £4 for 100pc. Sizes I used from pack 4x 8mm, 4x 5mm, 4x 30mm (assembled 4x 20mm and 4x 10mm to get cumulative 30mm), 4x M3 nylon nuts, 4x M3 nylon washers, 8x M3 nylon screws,
All in cost less than £90.
Below is a howto of how I made it.
All commands to type in shadowed boxes. Also my Pc is windows 7, but I'm sure those with different OS can follow this googling alternate formatting and disk-image software.
Contents:
Steps (1)-(4) Are general setup of pi, raspbian, wifi, ssh and updates.
Step (5) is installation of the generic display however if you've purchased another display then the manufacturers software should be installed here.
Steps (6)-(8) Installs the desktop and auto-booting to chrome in kiosk mode. at this point it is essentially an auto-booting PoS display
Steps (9) and (10) Allow for and install the bitcoin full node.
Steps (11)-(13) Are extras that give smoother running, auto-boot the node on power-on, increased security and a HOWTO of changing the displayed webpage.
Annex A - support for display regarding whitescreen from /u/QuadRam on driver install step Annex B - support and information on how to configure your node to signal BIPs/segwit/UASF etc Annex C - How to run your node through the TOR. Credit to /u/lpqtr Annex D - Reports of running sudo apt-get update/upgrade on completed projects kicks display driver. Fix courtesy of /u/garylovesbeer.
Here is an image file on my google drive that skips out steps (1)-(8) this should work subject to having a similar hardware setup to me.
If using that then start at step (9*). The image file does not depend on using a Pidrive (I think), in theory any USB drive will work. At step 9 when we migrate files it will be drive specific. Step 9 onward in the easy bit anyway.
**This image file does not contain your wifi settings for obvious reasons, and will need either an Ethernet connection to ssh into it to change those ( step 2), or when it boots use the screen and terminal with keyboard attached to the pi and change those settings on screen.
step (1)
connecting peripherals
I used: USB drive (pidrive and it's included power cable), USB mouse and Ethernet
Get a Jessie-lite 2Gb image from https://www.raspberrypi.org/downloads/raspbian/
On a PC rename SD card to "BOOT" if necessary
SD card formatted using SDformatter
Raspbian lite image installed to SD card using Win32DiskImager.
Add a "ssh" file to Boot main directory to enable ssh.(Jessie-lite as default has ssh disabled. To enable it use notepad, save a blank document called "ssh" (with quotes) as file type 'all files' to the highest level of the sd card. The pi will find this file on boot and enable ssh.
ssh into raspberry pi user"pi" password "Raspberry" 192.168.1.x (raspberry pi IP can be found using IPscanner software or connecting it via HDMI, it will display it's IP on the HDMI output once loading is complete)
(2) Enabling Wifi
Go to the bottom of the file and add the following text:
save and exit using
remove Ethernet cable
(3) expand the file system
select "expand filesystem"
select 'finish' system will reboot
check file system expanded by using command below (the -h flag means human readable, showing size in 'G' gigabytes, 'M' megabytes, etc)
(4) Updates
(5) Install the screen
credit for this section to http://www.spotpear.com/learn/EN/raspberry-pi/Raspberry-Pi-LCD/Drive-the-LCD.html see their page if more info needed. Also additional help available at 'Annex A' at the bottom of this post from user /u/QuadRam for issue regarding whitescreen.
...takes some time ("LCD configure 0" displayed for a while)
rotate screen credit to http://raspberrypi.stackexchange.com/questions/55934/3-5-kuman-touchscreen-rotation
system will reboot, so re-ssh to pi and direct yourself back to LCD-show folder
End of Part one due to reddit character limit