Author

Topic: BANANA-NODE: Everyone can set up a cheap Bitcoin full node with this tutorial! (Read 2462 times)

sr. member
Activity: 476
Merit: 252
ImmVRse | Disrupting the VR industry
Writing swap will be an issue on sdcard unless you set it up on a USB that will be re-used or as another partition of the external HDD
I would recommend to do this before the sdcard wears out. More information on this topic:

http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=20505
http://superuser.com/questions/17350/whats-the-life-expectancy-of-an-sd-card
http://raspberrypi.stackexchange.com/questions/9220/maximum-demonstrated-sd-card-durability  <- moving /tmp for logs out of the sdcard
legendary
Activity: 2461
Merit: 1058
Don't use bitcoin.de if you care about privacy!
this will wreck your SD card because bitcoin does 4GB of writes a day on average, and that doesn't include any writes from using swap
It shouldn't wreck it quickly, because all the read/writes should be done on the external drive, where Bitcoin-Qt is stored.
Still, the swap is stored on the sd card.

Well, after the first sync it doesn't use swap. The BPI has 1 GB of RAM and 970 MB are available for Bitcoind.
sr. member
Activity: 420
Merit: 250
This doesn't seem like a very good idea for such a low powered machine / SD card.

Just purchase a cheap VPN.
legendary
Activity: 2058
Merit: 1452
this will wreck your SD card because bitcoin does 4GB of writes a day on average, and that doesn't include any writes from using swap
It shouldn't wreck it quickly, because all the read/writes should be done on the external drive, where Bitcoin-Qt is stored.
Still, the swap is stored on the sd card.
hero member
Activity: 518
Merit: 500
this will wreck your SD card because bitcoin does 4GB of writes a day on average, and that doesn't include any writes from using swap
It shouldn't wreck it quickly, because all the read/writes should be done on the external drive, where Bitcoin-Qt is stored.

Also, if anyone is wondering about setting up a node on an RPi 2, here's a good guide: http://bit-post.com/featured/running-bitcoincore-0-10-on-a-raspberry-pi-2-4419

Thanks. I wanted to set up a node, but I really had no idea and the text only guide here wasn't helping very much.
At least with the Rpi 2, I can mine a block of bitcoin every 15895157.08 years! I'll be rich!
legendary
Activity: 1694
Merit: 1024
this will wreck your SD card because bitcoin does 4GB of writes a day on average, and that doesn't include any writes from using swap
It shouldn't wreck it quickly, because all the read/writes should be done on the external drive, where Bitcoin-Qt is stored.

Also, if anyone is wondering about setting up a node on an RPi 2, here's a good guide: http://bit-post.com/featured/running-bitcoincore-0-10-on-a-raspberry-pi-2-4419
hero member
Activity: 518
Merit: 500
I'm doubting anyone would have the willpower to go through this tutorial without running into a single problem. Else, they would have learned programming themselves : ).

I myself would think it's too complicated. You'd probably have to show a video demonstrating it and possible fixes for different problems. Watch out : )
legendary
Activity: 2058
Merit: 1452
this will wreck your SD card because bitcoin does 4GB of writes a day on average, and that doesn't include any writes from using swap
legendary
Activity: 2461
Merit: 1058
Don't use bitcoin.de if you care about privacy!
Hi guys,

I have created a tutorial for everyone who wants to see Bitcoin succeed. It is important that there a as many full node Bitcoin server as possible to keep Bitcoin decentralized.  By following this guide it should be possible for everyone (including Linux N00bs) to set up a Bitcoin server. As hardware I used a BananaPi because this low cost single board computer needs only 3-4 Watts to operate and it has a SATA Port (which the RPI 2 doesn’t have for example). I am not a native English speaker nor a Linux Guru so don’t hesitate to correct me if needed.

Table of content:
1.   Shopping list
2.   Installation
3.   Remarks
4.   Download links (Blockchain, .stl data for 3D case printing)

This tutorial is inspired by a post of User Zelek Uther from bitcointalk.org:
https://bitcointalksearch.org/topic/m.10180284

1.  Shopping list:
1* Banana Pi -> ca. 30-35 €
Banana PI Specs:
-Dualcore 1Ghz Allwiner A20 ARM CPU
-1 GB DDR3 RAM
- Gbit Ethernet
- SATA Port
- powerusage: ca. 3-4 Watt power consumption
1* SD Card  (min. 4GB Class 10) -> max. 10€
1* 2A Power Supply with Micro USB Jack-> max. 10€
1* old Notebook Hard Drive (min. 60 GB recommended) -> from ebay for example
1* Ethernet cable
1* Banana Pi Case (Lego case,  buy one oder print it) -> ca. 10 €
1* SATA& Power cable to connect HDD with BPI-> 3-5 €

In summery this project cost around 70€. In addition, it is recommended to use an internet connection with 1Mbit/s upload or more (unlimited data plan). Bitcoind generates around 60GB traffic per week.


2. Installation
2.1 Download Bananian OS (https://www.bananian.org/) for the BPI and write the image to SD.
Tool for writing Image to SD: http://sourceforge.net/projects/win32diskimager/
Info: Bananian OS is optimized for the BPI so that it uses only around 30MB of RAM!
2.2 Assemble all parts
2.3 Assign a fixed Lan address to your BPI. In addition open Port 8333 for this Lan address (This step is very important)!  
2.4 Install putty (http://www.putty.org/) on the Computer which is used to control your BPI.
-> type in the ip address of your BPI-> click open-> a command window opens with login request.
Login: root  
passwort: pi
2.5 type: “bananian-update‘‘ in command window (without quotation mark)-> wait for the process to finish
2.6 type: ,,bananian-config‘‘  (set new Pw and expand your Bananian installation so that the whole SD card is used.  Swap (in case BPI runs out of RAM) is already set to 512MB of the SD Card!
2.7 format and mount the attached HDD:
Instructions:  http://askubuntu.com/questions/154180/how-to-mount-a-new-drive-on-startup

Now building Bitcoind from source without a wallet (Copy&paste the commands):

2.9 apt-get update && apt-get dist-upgrade && apt-get install autoconf && apt-get install git build-essential autoconf libtool
2.10 apt-get install automake
2.11 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
2.12 apt-get install pkg-config
2.13 mkdir ~/bitcoin
2.14 cd ~/bitcoin
2.15 git clone -b 0.10.0  git://github.com/bitcoin/bitcoin.git
2.16 cd bitcoin
2.17 ./autogen.sh
2.18 ./configure --disable-wallet --without-miniupnpc
2.19 make (BPI needs around 1,5 h to finish this task)
2.20 strip ~/bitcoin/bitcoin/src/bitcoind
2.21 strip ~/bitcoin/bitcoin/src/bitcoin-cli
2.22 cp -a ~/bitcoin/bitcoin/src/bitcoind /usr/local/bin/
2.23 sudo cp -a ~/bitcoin/bitcoin/src/bitcoin-cli /usr/local/bin/
2.24 cd ~/bitcoin
2.25 mv bitcoin bitcoin-0.10.0

Before starting Bitcoind:

To reduce the sync. time of Blockchain you can download  a bootstrap data from this sources:
http://www.bundesverband-bitcoin.de/BootStrap/
http://www.satoshis.guru/blockchain-downloads/
or use torrent

-> unzip data file and transfer to HDD of BPI


Starting Bitcoind:

bitcoind -datadir=/nameofhdd    -> nameofhdd ist he name of the hdd used by BPI (for example share or sda1)
alternative:
bitcoind  -maxconnections=60 -datadir=/nameofhdd
-> max. connections are limited to 60

When starting bitcoind for the first time you are asked to set a username and password. You can adopt the suggested name and pw. To write into config file use command “nano’’ (without quotation mark)

Stopping Bitcoind:
bitcoin-cli stop

Bitcoind informationen:
bitcoin-cli getinfo

General system information:
enter:
htop -> monitor cpu and ram usage
bwm-ng-> monitor network traffic (with “t” you can switch mode)

3.Remarks

3.1 When verifying the blockchain your BPI will use 800-1500MB of Ram so that Swap will be used.  3.2 After verification bitcoind will use around 700MB so that Swap isn’t used.
3.3 Next month I will create my own BPI Bitcoin case for 3D printing
3.4 I can’t estimate how long this Setup can be used before Blockchain growth consumes more than available CPU time to be in sync.

4. Downloads:

Blockchain:
http://www.bundesverband-bitcoin.de/BootStrap/
http://www.satoshis.guru/blockchain-downloads/

Case:
1. http://www.thingiverse.com/thing:480096
2. own creation (will upload in the next month)
Jump to: