Run a 0.14 Full-Node on RaspberryPi3 Pruned(less than 16GB SD needed)
Hi! Happy if this guide helps you. Tip if you want: 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v UPDATE 04/06/17 Add 'uacomment=UASF-SegWit-BIP148' into your bitcoin.conf if you want to signal UASF. UPDATE 03/13/17 ADDED a tl;dr; Version at the end of this Post. UPDATE 03/12/17: Just to test it - I reinstalled all on 8GB SD and it works as well. But maybe you should use at least 16GB for the beginning. Using a 128GB card for the first version was a little bit stupid - so I reinstalled everything on a 8GB SD card. Including Linux and a pruned blockchain - and it works. I used prune=550 and Jessie Lite (headless / command line) - without wallet and gui. The SD is almost full, but it works so far I also updated the whole manual a bit to make things more clear. Thank you for all your feedback! Just started my Bitcoin Node today and wanted to share the way I did it with people who are interested in running their own full node. It took some time to write everything down - hopefully correct so far. I am sure, many people around bitcoin are way more informed and educated as I am - I am the noob. So I wrote this manual to help users like me - noobs, to get started with a cheap, simple bitcoin node on raspberry pi. Have fun! I wanted to get my Raspberry Pi 3 working as a node to support the network. Actually the process of installing and running the node was more or less easy - but for Noobs (like I am) it might be a bit tricky to start the whole thing, because there are different ways. Did you - like me - think you would need +120GB on the raspi, external USB HDD to be a full node? You won't! If you have a Raspberry and you know what Bitcoin is, I guess, you are a little bit aware of linux, networks and of course bitcoin - so I won't go into detail too much. This guide is just a little helper to get a full node running on your raspberry pi. Thanks to the help of the nice people in this sub and of course the documentation by the developers, I got it working - and of course also special thanks to raspnode.com - as I followed their tutorial to start - I went some other ways here and there - so please read carefully. For the Part 2 I would suggest to have http://raspnode.com/diyBitcoin.html open and read through my manual. I split the tutorial in 2 Parts - PART ONE is about installing the client on your PC and downloading the Blockchain. PART TWO is about the setup of the raspberryPi and transferring the pruned blockchain to the pi and run it as a full node! The first thing to be aware of is: You actually need to download the whole blockchain to get this working - if you already have your bitcoin client synced on the PC / MAC great you can reuse it! Now you might think "but you said less than 16GB in the title!" Yes, but the good thing is you won't need to download it on your Raspberry, neither you need to sync it completely on your raspberry which took ages (weeks!) before. When you finished this Guide, you will just have a max. 4GB Blockchain on your Raspberry Pi - but it still is a full node! The magic word is Pruning. Maybe even a 8GB SD Card works just fine including Linux (jessie lite)! So, if you already have a full node on your PC - Great you can almost skip PART ONE - BUT have at how to Prune in PART ONE if you don't know about it. For PART TWO you'll need a Raspberry Pi 2 or 3 (I used 3) min. 8GB (works also) or better 16GB SD Card. (I used a 128GB for the first version of this manual - which is way too big)
This is the manual how to get started on you PC / MAC / Linux (I did it on Win7) Go to: https://bitcoin.org/en/download and download the core Client for your Machine (I used win64). Install it and configure it to save the Blockchaindata to the directory of your choice - so instead getting 120GB on your C drive, I would suggest to download it to another place like a USB drive. You can set this up during the install. Standard folder for the blockchain folder is "%APPDATA%\Bitcoin" on Windows. or you can do it after the install by creating a bitcoin.conf file inside your installation folder / or %APPDATA%\Bitcoin and add
to the file. Line by line. By the way here you could also just add dbcache - to use more memory to speed up the process a bit:
if you don't want to use the settings inside the program. (you can also set this inside the program under settings! If you have this inside the bitcoin.conf you will see the amount you set there from inside the program - it overrides the values) You can check inside the windows client under settings, if you can see a manual dbcache is set by having a look at the left footer area. When your dbcache value shows up, everything is fine. So the Blockchain download process will take time - maybe a few days! Depending on your machine, internet connection and HDD. The Blockchain is huge as it contains every single transaction of the past until today. You won't need to keep your PC running all the time, you can turn it off and on and it will resync automatically when you start bitcoin-qt.exe! Make sure to close the client always via "quit" - ctrl+q. After you have your bitcoin core installed, the blockchain downloaded and synced - you are ready to PRUNE! First - close the Client and let it close smoothly. After it is really closed you can follow these steps:
By pruning, your blockchain will dramatically shrink. From 120GB to just a few GB.
Be aware, that you will lose your Downloaded Blockchain as pruning will erase a big chunk of it! If you have enough space, you could of course keep the full blockchain saved somewhere on another HDD. You can prune by editing your bitcoin.conf file by adding:
I used prune=1024 - not sure where the differences are right now (min. prune=550). (for my 8GB version I used 550! I suggest to use this.) Save the bitcoind.conf file and restart your windows client. It will now clean up the Blockchain. So just the latest blocks are saved. The client should start without any problems. Maybe it takes some time to prune the blockchain data. Check if everything works normally (the client opens as usual, you can see an empty wallet) than close the client. Inside the Bitcoin Folder, you'll find two folders called:
those are the interesting folders containing the important data (now pruned) - and we will transfer those two to the raspberry later! Now you are good to start the raspi transfer explained in the next part.
Here is what I did: 1) I installed Raspian Pixel (https://www.raspberrypi.org/downloads/raspbian/) using a 128 GB SD - which is not needed because of "Pruning" - I think a 16GB card might work, too! (You can also install Raspian Jessie Lite - which saves you even more space, as it runs headless - only command line) (Updated: It is better to use Jessie Lite to save a lot of space - when you are fine with only command line) 2) I followed partly this tutorial to get everything running and setup:
Please have a look at it - I have copied the Headlines in capitals to let you know what I did, and what I skipped. On Tutorial Page: Start with RASPBIAN (OPTIONAL) CONFIG OPTIONS. Set You RasPi up including "EDITING FILES" to save your Layout at the tutorial page and come back here. I skipped the CONFIGURE USB AND SET AUTOMOUNT process, as we are going to use PRUNING to reduce the 120GB to a tiny filesize - so USB Devices are not needed here! It was necessary to ENLARGE SWAP FILE to install bitcoin core - otherwise it didn't went through which ended in a frozen raspi. So have a close look by following the raspnode tutorial at: ENLARGE SWAP FILE. I have my raspi running via cable to router - but you can also WiFi setup everything described under NETWORKING ON THE RASPBERRY PI. Now comes the interesting part: Follow the steps at DOWNLOADING BITCOIN CORE DEPENDENCIES - they work fine for 0.14.0 too. Git should be on Board already when you installed Pixel - otherwise you would need to install it.
sudo apt-get install git -y (only jessy lite)
I skipped the next command lines - as I don't use bitcoin-qt wallet. If you want to use it as wallet - do the step.
as I don't need the wallet functionality. I didn't need to use "MAKE" which saves you maybe up to 2.5 hours. instead you can just go ahead with:
sudo make install
(If I am wrong in doing so - please let me know) The install takes some time - and just a heads up: when it gets stuck somewhere - just redo the installation process - it took three times to went through - stuck at some processing. After the installation took place you can finally get your Raspberry Pi Node running in no time! To test if the the installation went through - you can just start bitcoind using:
than check if everything is working so far:
after a few seconds you should see version: etc... if not, something went wrong. Try to redo the steps in the raspnode tutorial. (don't give up if it failed - retry! Ask your questions here) IMPORTANT: you need to stop bitcoin on your raspberry now!
If you don't need an external USB Drive - what I hope - as we are going to use pruning just go ahead and skip the USB part and create a file inside (or follow the raspnode tutorial on how to setup the USB drive):
cd .bitcoin sudo nano bitcoin.conf
and enter the exact same pruning size you have used on your Desktop Machine to prune. I used 1024 but the minimum is 550. (used 550 for the 8GB SD card on PC and Raspberry)
That's it for the raspi. update: To signal UASF enter in a new line:
Now you have to transfer the two folders CHAINSTATE and BLOCKS from your PC bitcoind directory to your raspberry. I am using a program called "WINSCP" - it is free and easy to use: https://winscp.net/eng/download.php We need this to transfer the files to the Raspberry pi. Pretty sure you can also do it via SSH - but I am the noob. So let's keep it simple. Open Winscp and put in the IP Address of your Raspberry Pi, User and Password (same as in SSH) You should now see the directories on your Raspberry Pi. There is a folder called
enter it and you will see the two folders
blocks & chainstate
you can delete them on the raspberry as they have some data from your previous test inside. Make sure you can also see the bitcoin.conf file in that directory, which needs to contain the exact same prune line, like the one on your desktop machine. If not, make sure to edit it via SSH. The line "datadir=l:\yourfolder" is obviously not needed in the Raspberry bitcoin.conf file. Now grab the two folders CHAINSTATE and BLOCKS from your PC and copy them to your .bitcoind folder. I also copied banlist.dat, fee_estimation.dat, mempool.dat and peers.dat to the folder - not really knowing if needed! Not needed. The whole copy process might take some minutes (against some weeks in the old way). After copying is finished, you can now start bitcoind on the Raspberry.
the & symbol let you still use the command line while the process is running btw. The process - if succesfull - will take some time to finish.
Will give you some informations what is going on right now. When you can see, that it is checking the blocks, this is good! If you get an error - double check - if you have the correct prune size (same as on desktop machine) - in bitcoin.conf and that this file is inside .bitcoin on RaspberryPi. It took me some time, to find my mistakes. Congrats! You are almost a part of the network! To make your node now a fullnode, you will need to go to your router (often 192.168.1.1) and enable portforwarding for your raspberry pi - and open ports 8333 - that's it! You can now go to: https://bitnodes.21.co/nodes/ scroll down to "JOIN THE NETWORK" and check check if your node IP is connected! It will show up as soon as the blocks are checked and the raspi is running. Well done! Now you are running a full node, with a small Blockchain and got it working in Minutes, not weeks! I really hope, my little tutorial worked for you and your are part of the Node network now. If you have problems or I made a mistake in this helper tut, just let me know and I will try to make it better. Have fun and NODL! the noob tl;dr; (if you are a real noob start with the non-tl;dr version!) tl;dr; PART ONE 1) Download & install / setup bitcoincore @ https://bitcoin.org/de/download 2) change dbcache to something smaller than your memory and download the whole Blockchain (120GB). 3) create a file called bitcoin.conf put the line prune=550 (or higher) in to activate pruning on win inside %appData%/bitcoin 4) Open ports 8333 on your Router to make this a full node with a smaller Blockchain. You are running a full node on your PC. tl;dr; PART TWO 1) Install jessie lite and the needed dependencies on your SDCard - Raspberry ( >git clone -b 0.14 https://github.com/bitcoin/bitcoin.git )
see tutorial for more info.
2) create a file called bitcoin.conf inside .bitcoin and add the same prune=Number you had on your PC. 3) transfer the pruned folders BLOCKS and CHAINSTATE to the Raspberry Folder .bitcoin 4)Start "bitcoind &" 5) let everything sync 6) Make sure you have port 8333 opened on your router. You are running a full node on your Raspberry with a super small Blockchain (I put all on a 8GB SDcard) Tip if you want : 19656Uwdwko5RjtnuwQENpjBwE3ChzD59v updated 03/12 - will update more, soon. updated 03/12.2 - I updated the whole process a bit and also added some improvements. updated 03/14/ Added a tl;dr version at the end.
bitcoin-qt ready for use within half an hour … download an up-to-date pruned blockchain
Let us discuss how safe this is :-) This tutorial is for Linux only but people using other operating systems will understand what to do. Download the bitcoin blockchain https://drive.google.com/drive/folders/0B0nH34wIYOSlSG81ZUZUZGZjVkE?usp=sharing This will download (~20 minutes) the 2485 MB file: bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz It contains only blocks, no wallet or log files. It has been created with -prune=550 Unpack tar -zxvf bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz and observe it contains only blocks and chain state data. This will create the directory: .bitcoin_pruned_550MB_19aug2016 Let’s assume you move this to ~/.bitcoin_pruned, so mv .bitcoin_pruned_550MB_19aug2016 ~/.bitcoin_pruned Run bitcoin-qt When you start bitcoin-qt, a new wallet will be created: back it up first. My advice is to use bitcoin-qt 0.13.0rc3, because it creates a HD wallet that never runs out of addresses. Start bitcoin-qt in fast start-up mode first: bitcoin-qt –prune=550 –checklevel=2 –checkblocks=10 –checkblocksverify=10 –datadir=yourpath/.bitcoin_pruned and let it sync quickly. Check more thoroughly next time with 10 -> 500000. You can have a quick look at what’s happening: tail ~/.bitcoin_pruned/debug.log.
FOR NOW, the drawback is that if you want to add addresses (watch-only or spendable) that already contain bitcoins, you have to create the pruned blockchain from scratch yourself, which takes a lot of time (or have someone with a full blockchain rescan the wallet for you). This is not really necessary: if the user is not interested in the history of his transactions, the balances can be obtained directly from the UTXO set. It has already been approved to add this feature in some future Core release: https://github.com/bitcoin/bitcoin/issues?q=is%3Aissue+is%3Aopen+label%3AWallet, #8497. I will automatically update the google drive with new up-to-date blockchains soon. EDIT: openssl dgst -sha256 bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz SHA256(bitcoin_blockchain_pruned_550MB_19aug2016.tar.gz)= ce36bcb9ab691c358b27d3051f8f38452bc182ca636eae992563c60805a9d4b0
So if you have a moderately powerful gaming desktop with a Quad-Core CPU like an i5 or better and 8+GB of RAM, you can easily run your own little UASF node in the background. Once it's done syncing with the network, you won't even notice it's there. Here's how. You will need :
Some sort of virtualization solution (I used Hyper-V)
Enough disk space for the blockchain (around 130GB, but you also need room for it to grow)
The following assumes you know how to install Linux in a Virtual Machine Step I. - Installation. Go through expert install and set up a base system with only ssh server enabled. For partitioning, you can do just one big disk and everything in one partition, but if you happen to have a computer that has both SSD's and HDD's, it would be optimal to create two virtual disks and use a small one for the OS on the SSD and a larger one on the HDD in a custom mount point for the blockchain. Reboot and ssh into the server. Step II. - Build requirements. A few things need to be taken care of. First, you'll want to edit the /etc/network/interfaces file and set up a static IP. Once that's done, stop by your router and make sure that traffic on port 8333 is forwarded to your debian VM. Then, install some packages we need :
...and wait about thirty hours to sync with the network. You may want to visit the /whereveyou/want/youblockchain directory and create a permanent bitcoin.conf in there. To enable RPC calls to the server and get it to accept bitcoin-cli commands you'll want to use it to create a usepassword and copy that to your user's /.bitcoin/bitcoin.conf. Minimal bitcoin.conf example
Security I recommend you disable password login and use private key authentication only on ssh, and also restrict iptables rules to the bare minimum that must be allowed for this application. You will need this in your iptables script :
# Allows BITCOIN traffic from anywhere -A INPUT -p tcp --dport 8333 -j ACCEPT # Allows RPC calls to the bitcoin server from localhost -A INPUT -p tcp -s 127.0.0.1 --dport 8332 -j ACCEPT
GoldenEye: Running Bitcoin from Space with Blockstream Part 3 Satellite Alignment. Ok, folks- this is the third and final evolution of this tutorial and it will require some patience since it’s the most time-consuming, especially if you have no experience with satellite alignment, which accounts controlling for azimuth, elevation and polarity. Overview. In this tutorial, we will be taking a closer look at the data directory and files behind the Bitcoin core reference client.Having a better understanding of how this is managed allows us to overcome probing bitcoin's remote procedure call (RPC) and REST based interfaces for insights into the data maintained by the client.. Prerequisites This tutorial is to install Bitcoin Core v0.13.0 (or possibly higher) on a Raspberry Pi 2 or 3. Options are given to install the GUI and wallet or not. We'll store the blockchain on an external USB flash drive (or hard drive), as that is more modular and better than storing it on a large microSD card with the OS. If you run into any Raspberry Pi problems while going through these steps, the ... Change Bitcoin Core Data Directory Mac Best Ethereum WalletAfter the backup has been saved, exit Bitcoin Bitcoin qt move blockchain wallet. Core because higher Bitcoin Core releases may have a database (or. Linux verification instructions.Built on the same technology as the New York Stock Exchange. About Bitcoin Bitcoin is a crypto-currency Linux Quickstart . The simplest way to start from scratch with the command line client, automatically syncing blockchain and creating a wallet, is to just run this command (without arguments) from the directory containing your bitcoind binary: ./bitcoind To run with the standard GUI interface: ./bitcoin-qt Command-line arguments
Installing Bitcoin Core on Linux - Duration: 13:52. 402 Payment Required 1,915 views. 13:52. ... Bitcoin Tutorials 11,751 views. 3:09. Python Bitcoin Tutorial for Beginners - Duration: 18:04 ... Перенос тяжёлого крипто бумажника bitcoin с диска C на диск D: 1.на диске С в папке "Program Files" найти папку "bitcoin ... Ubuntu -1 Setting up Bitcoin Commands, sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install bitcoin-qt sudo apt-get install bitcoind sudo blkid sudo nano /etc/fstab ... Bitcoin-QT wallet review - Duration: 8 ... Installing Bitcoin Core on Linux - Duration: 13:52. 402 Payment Required 2,380 views. 13:52. how to mine for bitcoin core - Duration: 3:54. Viscuso35 635 ... In this video from http://www.secureyourwallet.com we do a full review of the original Satoshi Bitcoin wallet. We do an install, look at the blockchain data,...