navpi
navpi copied to clipboard
NavCoin Stake Box

This is the official github repository for the NavCoin Stake Box. This repository is the source code behind the raspberry pi image which runs the navcoin daemon and a PHP based web wallet.
Current Version: v1.0.8
You can download the raspberry pi image from our website:
http://www.navcoin.org/downloads
Below are some basic security configurations which you might want to implement when setting up your NavPi. The NavPi will work immediately if you simply burn the img to the SD card, plug it into your network and turn it on.
Flashing the image to your SD Card
If you purchased your NavPi from our store, you can skip straight to the setup section since we have already flashed the NavPi image onto the device for you.
OSX
- Format the SD card choosing FAT (MSDOS) format and GUID Partition Map Schema.
- Download and install Etcher: https://etcher.io
- Follow Etchers instructions on how to burn the Nav Pi img to the SD Card.
Windows & Linux
These should be straight forward, just follow the official documentation:
https://www.raspberrypi.org/documentation/installation/installing-images
Defaults
| Item | Value |
|---|---|
| Unix Username | pi |
| Unix Password | navpi101 |
| Web Password | nav |
Because we ship the image with some default settings, we do recommend taking the following precautions.
Setup
SSH is disabled for security purposes, so any configuration you want to do must be done directly on the device.
- Plug in Screen, Keyboard & Mouse.
- Power on Raspberry Pi.
Enable WiFi
It is recommended to use Ethernet as WiFi can be very slow to sync, but if you must use WiFi you can set it up via the graphical user interface on the device.
- Boot to the Raspberry Pi GUI Operating System.
- Right click on the network icon in the top right task bar.
- Add your WiFi configuration.
Lock Down NavPi Web Access to local IP Addresses
The NavPi is already locked down to ip address ranges:
192.168.x.x 172.16.x.x 10.10.x.x
This should prevent anyone accessing the Web UI from outside of your local network. If your local network is on a different IP range to these defaults or you want to lock web access down to a particular IP address, then do the following:
- Boot to the Raspberry Pi GUI Operating System.
- Open Terminal.
- In terminal type
sudo leafpad /etc/apache2/sites-available/navpi.confand press enter. - Find the
<VirtualHost *:443>section. - Add, Remove or Modify the lines
Require ip XXX.XXXto be the IP address or range you want to allow. - Save and close the file.
- In terminal type
sudo service apache2 reloadand press enter.
Change the Default Unix Password
- Boot to the Raspberry Pi GUI Operating System.
- Open Terminal.
- In terminal type
passwdand press enter. - Enter
navpi101as the current password. - Enter your new password.
- Confirm your new password.
- Write down your new password.
Create a new SSL certificate
The NavPi ships with a default ssl cetificate installed, but you will want to generate a new one when you set it up.
Open terminal and paste in the following command:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -out /etc/apache2/ssl/navpi-ssl.crt -keyout /etc/apache2/ssl/navpi-ssl.key
When you're prompted, fill in each of the details with your own or just press the enter key as these details are not required for a privately used ssl key.
Once you've generated the ssl key we need to flush and reload apache:
sudo systemctl daemon-reload
sudo service apache2 reload
Whenever you browse to your NavPi's ip address, it will force HTTPS using this new certificate.
Since it's a self signed certificate, your browser will still complain that it is insecure, but all communication to the NavPi through your browser will be encrypted so no one can intercept your passwords.
Find the IP Address of your NavPi
- Boot to the Raspberry Pi GUI Operating System.
- Open Terminal.
- In terminal type
ifconfigand press enter. - Find your
inet addr(eg. 192.168.1.99). - Using the computer on your network which you've granted IP access to, open your web browser (Firefox, Chrome, Internet Explorer, Safari).
- In the address bar of your internet browser type in the inet address discovered by ifconfig on the raspberry pi.
- Log into the NavPi Web Interface using the default password
nav.
Change the Default Web Interface Password
- Log into the Web Interface of the NavPi.
- Click on the
Controlmenu item - In the
Serversection, click theChange UI Passwordbutton. - Type in your new password.
- Confirm your new password.
- Write down your new password.
Encrypt Your wallet
- Log into the Web Interface of the NavPi.
- Click on the
Controlmenu item. - In the
Securitysection, type your desired password into the text field next to theEncrypt Walletbutton. - Press enter, or click the
Encrypt Walletbutton. - Write down your new password.
Unlock for staking
Whenever you reboot your device, you need to make sure it is unlocked for staking to earn your rewards.
- Log into the Web Interface of the NavPi.
- On the home page click the button that says
Your Wallet Is Locked, Click To Change. - Enter your password into the box next to where it says
Unlock for Staking Only. - Press enter, or click the
Unlock for Staking Onlybutton. - Go back to the home page and the button should now say
Your Wallet Is Unlocked For Staking, Click To Change. - You are all ready to earn staking rewards now.
Backup your wallet
- Log into the Web Interface of the NavPi.
- Click on the
Controlmenu item. - In the
Securitysection, click theBackup Walletbutton. - This will download to your computer.
- Make multiple backups to protect against data corruption.
Restoring your wallet
- Boot to the Raspberry Pi GUI Operating System.
- Open Terminal.
- Drag the wallet.dat file from your USB memory stick to the desktop of your navpi.
- Type the command
sudo mv /home/pi/Desktop/wallet.dat /home/stakebox/.navcoin4/wallet.datand press enter. - Type in your sudo password or if you haven't changed it
navpi101and press enter. - Change ownership of the wallet.dat file so the user running the navcoin daemon can access it.
- Type the command
sudo chown www-data:www-data /home/stakebox/.navcoin4/wallet.datand press enter. - Type the command
sudo chmod 600 /home/stakebox/.navcoin4/wallet.datand press enter. - Reboot the navpi by typing
sudo reboot nowand pressing enter
Creating a backup image
Once you've done all this setup, it is worth making a backup image of the SD card so if it fails, you can easily restore to this point.
OSX
- Create a .dmg of the whole SD Card using disk utility.
- Convert the dmg to an img from terminal:
hdiutil convert foo.dmg -format UDTO -o bar.img
This .img file can now be burned to a new SD Card using Etcher.
Updating the User Interface
- Boot to the Raspberry Pi GUI Operating System.
- Open Terminal.
- Type
cd /home/stakebox/UIand press enter. - Type
git pulland press enter. - You will receive any UI updates.
If you have the latest version of the UI, you should be able to perform future updates by using the update button on the control page.
Updating the NavCoin Daemon
If you're upto date with the latest UI, you can run the following script manually:
/home/stakebox/UI/libs/updater.sh- Or you can add it to your sudo crontab to automatically check for and install new updates
License
Distributed under the MIT software license.