Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT)

Moderators: mdrjr, odroid

Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT)

Unread postby BuckoNZ » Sun Sep 09, 2018 4:24 am

Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT) – NavPi Replacement.

In a previous thread, I provided instructions about how to setup an Odroid XU4 to be a NavCoin Stakebox, but using the CLI command line only. These instructions is for a GUI version of the same, utilising QT.

This is something I was unable to get working, however with the release of NavCoin v4.3.0 there appears to be some additions or fixes, that gets QT functionality - at least in a 32bit ARM environment - working.

My usual warning - I am not a developer. I am not a linux guru. In fact, I have no idea what I’m doing, so take that into consideration when you are following these steps.


STEPS:

1) Install a fresh full XU4 Ubuntu MATE image onto your eMMC storage card, using the USB connector. The image used here was the one dated 20180501 – this will install Ubuntu 18.04 LTS.

2) When first logging in, configure the usual look and feel, network settings and date/time, etc..

3) There are a number of build prerequisites that are required, including the Boost development packages, miniupnpc and Synaptic (because it's handy to have) :
$ sudo apt-get install build-essential libcurl3-dev libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libqrencode-dev libboost-all-dev libminiupnpc-dev synaptic libunbound-dev libzmq3-dev

4) QT has a number of it's own dependencies and we need those as well for the GUI:
$ sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

5) Some of the processing we will need to do is quite resource intensive, so we should grab ‘Zram’ as well, plus we will need 'Git':
$ sudo apt install zram-config git

6) BerkeleyDB is also required for wallet functionality, so we need to grab that:
$ sudo add-apt-repository ppa:bitcoin/bitcoin
$ sudo apt-get update
$ sudo apt-get install libdb4.8-dev libdb4.8++-dev


7) Lets reboot the XU4 at this point:
$ sudo reboot

8) After the reboot, we need to grab ‘NavCoin’ itself:
$ git clone https://github.com/navcoin/navcoin-core.git

9) We also need to make sure that the XU4 OS and components are all up to date before progressing further:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo reboot


10) After the reboot, move to the new ‘navcoin-core’ folder that is now on your XU4:
cd ~/navcoin-core

11) Lets now install NavCoin:
$ sudo ./autogen.sh
$ sudo ./configure CFLAGS="-O2 -mtune=cortex-a15.cortex-a7 -mfpu=neon" CXXFLAGS="-O2 -mtune=cortex-a15.cortex-a7 -mfpu=neon" --enable-hardening --with-gui
$ sudo make
$ sudo make install


12) The above process will take some time to complete. Once complete, lets reboot the XU4:
$ sudo reboot

13) We need to setup a launcher for the desktop. Right mouse click on the Desktop and select the 'Create Launcher' option and put in these settings:
- Name: NavCoin 4.3.0
- Command: /usr/local/bin/navcoin-qt
- Double click on the default icon (spring board looking thing?) and change it to a NavCoin one. The NavCoin ico file can be found in: /navcoin-core/src/qt/icons .

14) Double click on the newly created Desktop icon for NavCoin 4.3.0.
Instead of waiting hours for your NavCoin wallet to catchup with the blockchain, you can speed up this process by using the 'Bootstrap blockchain' option that comes with the 4.3.0 build - simply go to File > Bootstrap blockchain.

15) Using the web browser, go to the following URL to check what block the NavCoin blockchain is currently up too – take note of the block number at the very top of the web page:
https://chainz.cryptoid.info/nav/

16) To restore an existing Wallet, while the NavCoin application is closed, simply replace the new wallet.dat file created on initial startup, with an existing dat file backup.
Last edited by BuckoNZ on Sun Sep 09, 2018 10:08 am, edited 3 times in total.
BuckoNZ
 
Posts: 13
Joined: Sun Jan 07, 2018 10:27 am
languages_spoken: english
ODROIDs: XU4

Re: Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT

Unread postby BuckoNZ » Sun Sep 09, 2018 4:54 am

Confirming the stability of NavCoin QT GUI build on the XU4

Test 1 - Receiving Nav from an External Party
- I sent 100 NAV from my primary NavCoin CLI stakebox, to the newly built NavCoin QT stakebox.
- Within a very short period (1 minute?), I received notification that I had an incoming 'receive' transaction into my new NavCoin QT stakebox.
- After a few minutes, this transaction was confirmed and the balance on my NavCoin QT stakebox was 100 NAV.
- The wallet balance on my primary NavCoin CLI stakebox dropped by a similar amount.
[Test 1 Passed]

Test 2 - Sending Nav from QT wallet on XU4 to an External Party
- Using the QT wallet, I sent 99.9 NAV back to my primary NavCoin CLI stakebox.
- Within a few minutes, the transaction was complete and the 99.9 NAV, plus the transaction fee was removed from the balance on my NavCoin QT stakebox.
- The wallet balance on my primary NavCoin CLI stakebox increased by a similar amount
[Test 2 Passed]

Test 3 - Receiving Stake Reward to the QT wallet on the XU4
- After approximately 5 days of running, a small stake amount was received.
[Test 3 Passed]

Test 4 - Restoring DAT from QT wallet onto External Platform
- Created a second instance of the NavCoin QT stakebox.
- After syncing up the blockchain, I exited the application, found the wallet.dat file in the .navcoin4 folder and deleted it.
- I then replaced the wallet.dat file with a backup I took from the initial NavCoin QT stakebox.
- On restarting NavCoin on the second stakebox, it now shows the balance, transactions and address from the initial NavCoin QT stakebox.
[Test 4 Passed]

Test 5 - Successfully Completed OpenAlias Registration
- Registered an OpenAlias friendly address name on the website.
- Open the console on the NavCoin QT stakebox and entered in the signmessage provided on the OpenAlias signup website.
- This resulted in a long string being provided. This was copied from the console on the QT stakebox and pasted into the relevant area on the OpenAlias signup page. Was advised that the Registration was successful.
[Test 5 Passed]
Last edited by BuckoNZ on Thu Sep 13, 2018 5:00 pm, edited 1 time in total.
BuckoNZ
 
Posts: 13
Joined: Sun Jan 07, 2018 10:27 am
languages_spoken: english
ODROIDs: XU4

Re: Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT

Unread postby rooted » Sun Sep 09, 2018 10:55 am

Nice work on the write up.
User avatar
rooted
 
Posts: 5474
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1, C1+, C2
XU3 Lite, XU4
N1
VU7+
HiFi Shield 2
Smart Power (original)

Re: Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT

Unread postby caquinn7 » Mon Sep 10, 2018 12:41 am

Thanks to you I am now running 4.3.0 with the gui, and everything seems to be working fine. The getstakereport command that was previously causing a seg fault now works.
caquinn7
 
Posts: 3
Joined: Sun Sep 02, 2018 1:36 am
languages_spoken: english
ODROIDs: XU4

Re: Using An Odroid XU4 For A NavCoin Stakebox (GUI using QT

Unread postby BuckoNZ » Mon Sep 10, 2018 4:38 am

caquinn7 wrote:Thanks to you I am now running 4.3.0 with the gui, and everything seems to be working fine. The getstakereport command that was previously causing a seg fault now works.


That's great to hear!
BuckoNZ
 
Posts: 13
Joined: Sun Jan 07, 2018 10:27 am
languages_spoken: english
ODROIDs: XU4


Return to Projects

Who is online

Users browsing this forum: No registered users and 1 guest