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.101802841. 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 cable1*
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-startupNow 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.Remarks3.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:4800962. own creation (will upload in the next month)