Bitcoin Forum
May 28, 2024, 04:16:21 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: BANANA-NODE: Everyone can set up a cheap Bitcoin full node with this tutorial!  (Read 2437 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Lincoln6Echo (OP)
Legendary
*
Offline Offline

Activity: 2459
Merit: 1057


Don't use bitcoin.de if you care about privacy!


View Profile
March 10, 2015, 10:11:23 PM
 #1

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://bitcointalk.org/index.php?topic=833254.msg10180284#msg10180284

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)
grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
March 11, 2015, 01:21:31 AM
 #2

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 is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
Somekindabitcoin
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
March 11, 2015, 01:23:27 AM
 #3

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 : )
guitarplinker
Legendary
*
Offline Offline

Activity: 1694
Merit: 1024



View Profile WWW
March 11, 2015, 01:29:18 AM
 #4

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
Somekindabitcoin
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500



View Profile
March 11, 2015, 01:35:28 AM
 #5

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!
grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
March 11, 2015, 01:54:35 AM
 #6

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.

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
Enzyme
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250


View Profile
March 11, 2015, 06:37:49 AM
 #7

This doesn't seem like a very good idea for such a low powered machine / SD card.

Just purchase a cheap VPN.
Lincoln6Echo (OP)
Legendary
*
Offline Offline

Activity: 2459
Merit: 1057


Don't use bitcoin.de if you care about privacy!


View Profile
March 11, 2015, 07:43:13 AM
 #8

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.
GoingAround
Sr. Member
****
Offline Offline

Activity: 476
Merit: 252


ImmVRse | Disrupting the VR industry


View Profile
March 20, 2015, 08:46:49 PM
Last edit: March 26, 2015, 08:43:42 PM by GoingAround
 #9

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

▄▄█████▄▄
▄█████████████▄
▄███████████████████▄
▄█████████████████████████▄
███████████████████████████████
█████████████████████████████████
███████████████████████████████
█████████████████████████████████
█████████████████████████████████
█████████████████████████████████
█████████████████████████████████
█████████████████████████████████
█████████████████████████████████
█████████████████████████████████
█████████████████████████████████
███████████████████████████████
▀█████████████████████████▀
▀███████████████████▀
▀█████████████▀
▀▀█████▀▀
 





████          ████  ███████████▄▄                                
▀███▄        ▄███▀  █████████████▄                               
██    ▄███▄     ▄███▄      ▄███▄     ▄███▄   ████        ████            ▀████    ▄██████████▄     ▄██████████
██    ██ ██     ██ ██      ██ ██     ██ ██    ████      ████             ▄████   ██▀        ▀██   ██▀        
██   ██   ██   ██   ██    ██   ██   ██   ██   ▀███▄    ▄███▀    █████████████▀   ▀██▄▄▄▄▄▄▄▄▄    ███▄▄▄▄▄▄▄▄▄
██   ██   ██   ██   ██    ██   ██   ██   ██    ████    ████     ███████████▀▀      ▀▀▀▀▀▀▀▀▀██▄  ███▀▀▀▀▀▀▀▀▀
██  ██     ██ ██     ██  ██     ██ ██     ██    ████  ████      ████   ████      ██▄        ▄██   ██▄        
██  ██     ▀███▀     ██  ██     ▀███▀     ██    ▀███▄▄███▀      ████    ████      ▀██████████▀     ▀██████████
████████       ████     ████                                
██████        ████      ████                                
 
   
 
WHITEPAPER    ▀▀▀▀▀▀▀▀▀▀▀
APPLY FOR CROWDSALE
▀▀▀▀▀▀▀▀▀▀▀    BITCOINTALK
 


















 
Proud Sponsor of
Blockchain 360 at
London Tech Week
  ◢  FACEBOOK
◢  TWITTER
◢  TELEGRAM
◢  MEDIUM
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!