Bitcoin Forum
April 26, 2024, 09:14:54 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Updating full node  (Read 335 times)
GodlyWizard (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 5


View Profile
November 14, 2017, 03:52:24 PM
 #1

Greetings!

I just started running a full node on raspberry pi 3 in order to help the network.
Everything seems to be working just fine but the problem is that my node version is 0.13.x

When I installed my node I followed this guide https://bitcoin.org/en/full-node#linux-instructions

Code:
sudo apt-get install bitcoin-qt
This command installed the dated version. Is it possible to get the latest version 0.15.1 with GUI for raspberry pi? If so, how?

Is it useless to run a node with dated version?

I have downloaded the ARM Linux 32-bit and it did not come with a bitcoin-qt.

Thank you.
1714166094
Hero Member
*
Offline Offline

Posts: 1714166094

View Profile Personal Message (Offline)

Ignore
1714166094
Reply with quote  #2

1714166094
Report to moderator
1714166094
Hero Member
*
Offline Offline

Posts: 1714166094

View Profile Personal Message (Offline)

Ignore
1714166094
Reply with quote  #2

1714166094
Report to moderator
1714166094
Hero Member
*
Offline Offline

Posts: 1714166094

View Profile Personal Message (Offline)

Ignore
1714166094
Reply with quote  #2

1714166094
Report to moderator
The Bitcoin software, network, and concept is called "Bitcoin" with a capitalized "B". Bitcoin currency units are called "bitcoins" with a lowercase "b" -- this is often abbreviated BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714166094
Hero Member
*
Offline Offline

Posts: 1714166094

View Profile Personal Message (Offline)

Ignore
1714166094
Reply with quote  #2

1714166094
Report to moderator
xdrpx
Hero Member
*****
Offline Offline

Activity: 616
Merit: 603


View Profile
November 14, 2017, 04:29:23 PM
 #2

When I used to run a Bitcoin node on my Raspberry Pi2, I used to download from Source and build it. This used to take a lot of time to build but eventually completed. To speed up the process I used to get the blockchain synchronized on my desktop PC into my external hard disk and then connect it to my raspberry pi. This way it would not require the RAM or resource needed for initial full blockchain synchronization. Also make sure you create some swap memory if needed for the build (not sure if this is needed for the pi 3).

So what you need to do first is to create a directory anywhere you'd like on your raspberry pi (if needed do it in your MicroSD card) and then clone Bitcoin core's git repo and then do the following:

Code:
sudo apt-get update
sudo apt-get upgrade [This will update and upgrade all packages on your raspbian OS (considering that you're using this OS)


Then install all dependencies (if you had 0.13x) maybe it was already installed, but just do it to verify
Code:
sudo apt-get install autoconf libevent-dev libtool libssl-dev libboost-all-dev libminiupnpc-dev qt4-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev -y

I suggest you follow the instructions here for the dependencies if needed for QT5: https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md

Also install Berkeley DB (maybe it's also already installed for you) if not you'll need to build it [Also note, if the dependencies above do install berkeley db, then maybe this isn't required, I can't recall so well but I'm placing the steps below just incase].

Code:
mkdir ~/bin
cd ~/bin
wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
tar -xzvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx
make -j2 (You can also try -j4 which may be quicker, but at times the build used to fail for me)
sudo make install

Alternatively you can also follow how to build Berkeley DB here if needed: https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md

Now you clone the git repo, before that do
Code:
sudo apt-get install git
to install git.
Code:
git clone -b v0.15.1 https://github.com/bitcoin/bitcoin.git


After which, run the following in the bitcoin folder to build (Remember this will take a lot of time on the raspberry pi:
Code:
./autogen.sh
./configure CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib" --disable-wallet (use --disable-wallet only if you want to run the node without a wallet enabled in it)
make -j2
sudo make install


After which you can run
Code:
bitcoin-qt


I'm not sure since it's been long, but maybe you can also try download the 64 bit linux build from https://bitcoin.org/bin/bitcoin-core-0.15.1/ and then run bitcoin-qt, might work as well instead of building from scratch.
aleksej996
Sr. Member
****
Offline Offline

Activity: 490
Merit: 389


Do not trust the government


View Profile
November 14, 2017, 09:28:48 PM
 #3

Running a node with the older version is absolutely ok. Bitcoin Core has never hard-forked so all the versions should be backward compatible.
It will be a lot faster if you run the most recent version and there are probably some other benefits other then the efficiency.

You should compile from source the newest versions regularly.
GodlyWizard (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 5


View Profile
November 15, 2017, 12:16:23 PM
Last edit: November 15, 2017, 01:51:49 PM by GodlyWizard
 #4

Everytime after executing
Code:
make -j2
the Pi seems to stop responding. I have restarted several times and retyped the cmd but always at some point it stops showing progress.
Is it normal for this phase to seem like it has crashed?
xdrpx
Hero Member
*****
Offline Offline

Activity: 616
Merit: 603


View Profile
November 15, 2017, 01:55:11 PM
Last edit: November 15, 2017, 02:29:02 PM by xdrpx
 #5

Should I execute these commands inside the old .bitcoin folder that is using the version of 0.13.x?

Code:
git clone -b v0.15.1 https://github.com/bitcoin/bitcoin.git

Code:
./autogen.sh
./configure CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib" --disable-wallet (use --disable-wallet only if you want to run the node without a wallet enabled in it)
make -j2
sudo make install

EDIT:

Everytime after executing
Code:
make -j2
the Pi seems to stop responding. I have restarted several times and retyped the cmd but always at some point it stops showing progress.
Is it normal for this phase to seem like it has crashed?

Yes you could do it inside any folder, but I would suggest that you create a new folder since it would help for you to identify and differentiate the files. Also if there was another conflicting file with the same name, it'd ask you to replace it. Basically by cloning the repository you're just downloading the entire source code from Bitcoin core's github repository and saving it as a local repository. This way you'll be able to build production builds as well as modify the code and create pull requires for any enhancements or bug fixes that you make if you're into that kind of stuff.

Hope this clarifies your question.

Edit:

Yeah, building takes up a lot of RAM and probably CPU usage. You can replace make -j2 with just make. Basically the -j attribute indicates how many CPU cores (multithreading) it'll utilize for the build process. In your case for the raspberry pi 3 you might have 4 cores so you could try using -j4, this could build much quicker but this can fail at times. Hence I suggested -j2 as a safe limit, which could take longer to build though.

Also I suggest you set swap memory and swap to your SD card (or suggested to swap to an external hard drive) with about 1GB swap. You can follow the guide here for creating SWAP memory to SD card: https://raspberrypi.stackexchange.com/questions/70/how-to-set-up-swap-space.  This should help give you some more free RAM during the build process and later you can delete the swap if not required.
GodlyWizard (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 5


View Profile
November 15, 2017, 03:54:06 PM
 #6

Alright, after rebooting a couple of times I managed to get it working and it no longer stops responding.
I removed completely the old /.bitcoin and I am now using the /bitcoin that came with v0.15.1

What I did was:

Code:
make clean
./autogen.sh
./configure (without --disable-wallet)
make -j2

Before that I increased swap memory.

Code:
fallocate -l 512M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

/etc/fstab
/swapfile none swap defaults 0 0

Also, my Raspberry Pi has no SD-card at all. It boots directly from 1TB USB external HDD. I found it to be a lot easier to install node this way, no mounting needed etc...

It has now been building well over an hour so far without any stuttering, hopefully it also finishes with no problems.
*knocks on wood*

Thanks for explaining the -j parameter, I didn't know that  Smiley

Edit: It finished! I'll now execute
Code:
sudo make install
GodlyWizard (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 5


View Profile
November 15, 2017, 05:28:40 PM
 #7

The installation was successful, however I still encountered some problems.
Even after installing the latest version, for some reason I still had 0.13.x present and it was launching instead of 15.1
When I chose to launch 15.1 instead of the dated one I got error messages such as the wallet.dat was not compatible.
I removed the whole /.bitcoin (again) and that fixed the problem. The latest version is now running fine and downloading the blockchain.

However, when I type bitcoin-qt cmd to launch the program I get weird non-fatal errors that still let the program start.

The error messages were something like this:

Code:
bitcoin-qt:1148 warning error retrieving ...

and

Code:
libEGL warning: DRI2: failed to authenticate

Any idea what these might be? Maybe there is a conflict with some remains of the previous version?

Thank you very much, so far this has been a great help!
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!