NAV Coin NavTech Server Installation and setup instructions

Similar documents
Contents. Crave Masternode Setup Guides. Single / Multiple Local Masternode(s) Single Masternode using a VPS. Multiple Masternodes using a VPS

MASTERNODE Setup Guide

CazCoin VPS Masternode Setup December 2018

CazCoin VPS Masternode Setup May 2018

Complete Guide to Setting Up Linda on Ubuntu 16 For Staking

COLD WALLET STEP BY STEP SETUP TUTORIAL FOR BEGINNERS

TZC WALLET + HEADLESS WALLET ON LINUX. Local Wallet + PoS Headless Wallet on VPS (Ubuntu 16.04)

This guide assumes that you are setting up a masternode for the first time. You will need:

CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS

SAROS MasterNode Guide V1.1

Rover Coin. Hot Cold Wallet Masternode VPS setup Guide

Nyerium Hot Cold Masternode Guide

Masternode Setup Guide

COLD WALLET + MASTERNODE SETUP ON LINUX

Anonymity and Privacy Blockchain

Masternode Setup Guide Local Wallet with VPS Server

Wallet Installation Guide for Staking on Raspberry PI

Anonymity and Privacy Blockchain

Masternode Setup Guide

Beetle Coin Masternodes Guide

Windows cold wallet managing Linux VPS connected Masternode

WHAT YOU WILL NEED FOR THIS GUIDE:

MASTERNODE SETUP GUIDE

BitcoinMonster Masternode Linux VPS Tutorial - Vultr VPS Created By : Samshak Donet Mon: MKX8PFz1uvBkwNDTXtUuj6KinudhsKZh1K

Masternode Guide #1. Single masternode on Linux VPS (Ubuntu)+ control wallet on local PC (Windows)

KINGSTON COIN VPS MASTERNODE SETUP GUIDE

Dixicoin (DXC) Masternode Guide for VPS

Setting up a Chaincoin Masternode

SmartCash SmartNode Setup Guide V1.2 Windows 10 13/01/2018 By (Jazz) yoyomonkey Page 1

SmartCash SmartNode Setup Guide v1.2. Windows 10. Date: 13/01/2018. By (Jazz) yoyomonkey

VPS SETUP: What is a VPS? A VPS is a cloud server, running on a virtual machine. You can t run a masternode on your computer itself.

Masternode&Sentinel Setup Guide

SCRIV NETWORK COLD WALLET MASTERNODE SETUP GUIDE DETAILED

SUB1X Masternode Setup Guide: LINUX Version

Citizenship Coin. Installation Instructions

Relarium (RLM) Masternode Guide for VPS

LINUX VPS GUIDE. Pre-requisites: (this guide assumes you are using windows)

Crave Setup Guide v1.07

BitcoinGenX Masternode Setup Tutorial

Master Node Setup Guide

LOCAL WALLET (COLD WALLET):

What you need: 5001 AEG. Computer with wallet installed. Make sure the wallet contains the Masternode Collateral of at least 5001 AEGEUS

SmartCash SmartNode SCRIPT Setup Guide v2.2. Windows 10. Date: 20/02/2018. By (Jazz) yoyomonkey

MarketC - Masternode Setup Guide

50,000 THC (have an additional.01 THC available to cover transaction costs)

Masternode Setup in VPS server

Masternode Setup Guide

Controller-Cold-Setup

TangeloHub Documentation

AEGEUS Official Aegeus FAQ

Official Aegeus FAQ s

DogeCash Masternode Setup Guide Version 1.2 (Ubuntu 16.04)

THE UNBREAKABLE CODE. NAVTECH WHITEPAPER 2016 BETA RELEASE v0.9

Masternode Guide #1. Single masternode on Linux VPS (Ubuntu)+ Control wallet on local PC (Windows) (VPS installation with script :-) )

PiranaJS installation guide

Rabbit Linux Masternode with Windows Cold Wallet

DigiByte Integration Guide

Aion Network. Owner s Manual. The Aion Foundation April User s Manual

Renos Local Wallet Masternode Setup

Flex Linux Masternode with Windows Cold Wallet

TUTORIAL v /07/2017 How to install a TOR Node for the decentralized BitcoinZ Blockchain Network?

MeshCentral 2. Installer s Guide. Version July 31, 2018 Ylian Saint-Hilaire

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Convio Data Sync Connector 3 Installation Guide

(Ubuntu 16.04) This guide will assist you in setting up an Aegeus Masternode on a Linux Server running Ubuntu (use at your own risk).

Setting up your own private VPN using a cheap VPS server

Infoblox Kubernetes1.0.0 IPAM Plugin

Adafruit WebIDE. Created by Tyler Cooper. Last updated on :29:47 PM UTC

XLink Kai Raspberry Pi Beginners Tutorial

Intellicus Cluster and Load Balancing- Linux. Version: 18.1

STRATIS MASTERNODE. Windows Installation Guide

Installing PHP on Windows 10 Bash and Starting a Local Server

Software Installation Manual

Appliance Guide. Version 1.0

RETROPIE INSTALLATION GUIDE

Setting up VPS on Ovh public cloud and installing lamp server on Ubuntu instance

KickSoccer Coin Masternode Setup Guide

The Python Mini-Degree Development Environment Guide

Salesforce DX Setup Guide

USING NGC WITH GOOGLE CLOUD PLATFORM

Server guides for the GIRAF project

Cold Masternode Guide

Communication protocols and services

VMware AirWatch Content Gateway for Linux. VMware Workspace ONE UEM 1811 Unified Access Gateway

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

MSC-Tools Documentation

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

Deploy the ExtraHop Discover Appliance in Azure

Install Guides. Automated Compiler Cold Node (Linux VPS) Absolute. Proof of View

Software Development I

Masternode Guide Version 1.0.4

Booting a Galaxy Instance

Salesforce DX Setup Guide

Administration Dashboard Installation Guide SQream Technologies

Installing Design Room ONE

CUSTOMER CONTROL PANEL... 2 DASHBOARD... 3 HOSTING &

R- installation and adminstration under Linux for dummie

2 Installing the Software

Online Backup Client User Manual

Setting up my Dev Environment ECS 030

Transcription:

NAV Coin NavTech Server Installation and setup instructions NavTech disconnects sender and receiver Unique double-blockchain Technology V4.0.5 October 2017

2

Index General information... 5 NavTech... 5 Requirements... 5 Recommended server specs... 5 Remote connection... 5 Guide explanation... 5 Installation order... 6 Support... 6 NavTechServers.com... 6 Github... 6 Donate... 6 NAV Coin Core installation... 7 Subchain Core installation... 10 Install NavTech... 12 Install tools and download source... 12 Install git and npm:... 12 Install nodejs:... 12 Clone NavTech... 12 Setup Incoming Server... 13 Configure default.json... 13 Random string generator... 15 Running the incoming setup scripts... 16 Error?... 17 Build NavTech... 18 Forever... 18 Setup Outgoing Server... 19 Running the Outgoing setup scripts... 21 Error?... 22 Build NavTech... 23 Forever... 23 3

Creating Backup... 24 Subchain Coin (Incoming)... 26 NAV Coins in the NavPool (Outgoing)... 26 Testing NavTech server cluster... 27 How to test the servers?... 28 Make the cluster public... 29 Starting the servers... 30 Outgoing server... 30 Incoming server... 30 Announce the Server Cluster... 31 Reddit... 31 NavTechServers.com... 31 4

General information NavTech NAV Coin is a privacy focused digital currency. The NAV Coin Team built a platform for anonymous transactions, called NavTech. NavTech combines two blockchains, the NAV Coin blockchain and the Subchain, to disconnect sender and receiver. A NavTech server cluster needs a minimum of two servers, an incoming and an outgoing server. The incoming server receives NAV Coin transactions, sends transactions information encrypted over the Subchain to the outgoing server and the outgoing server sends NAV Coin to the receiver out of the NavPool. In a next cycle the NavPool is filled with the NAV Coin from the incoming server. Requirements You will need two servers, one incoming and one outgoing server, with different IP-addresses for a NavTech cluster. On both servers you will have to install the NAV Coin Core, Subchain Core and NavTech. The incoming and outgoing servers have a different configuration. When the server cluster is ready for use you can announce this. Everyone can make use of the server cluster and the server operator will receive transaction fees. Recommended server specs Component CPU RAM Hard Disk Operating System Value 2 x 2.4 Ghz Intel Xeon 2 GB 40GB 64bit Debian or Ubuntu API Port 3000 Remote connection Different VPS providers offer different ways of configuring your VPS server. To connect to your server remotely you have to enable SSH. (Guide for Ubuntu 16.04: http://ubuntuhandbook.org/index.php/2016/04/enable-ssh-ubuntu-16-04-lts/) Once you have SSH enabled, you can remote connect to your server. PuTTY (http://www.putty.org/), for example, is a program you can use for this. It connects to the CLI (Command Line Interface) of your server. Guide explanation In this guide you will mostly find commands used for installing and configuring your NavTech servers. If you have never worked with Ubuntu or a CLI it can be a little challenging to get used to it. There are 5

plenty of guides available on the internet to help you with the basics and explain the general structure and commands. Every new line in the textboxes is a new command! This guide does not show every single command output. Most outputs just show the progress of unzipping, installing,. Just read careful what to do and follow the exact commands. Check carefully if you entered the correct commands with all the. and /. The command is used for moving between folders. Always make sure you work in the correct folder. If you follow the guide exactly, you should always be in the correct folder. Sometimes you will be asked if you are sure you want to install something (Y/N), press Y to continue in that case. This guide was written at the time of NAV Coin Core v4.0.5. In the future different versions will be used. URL can be different because of that. Installation order 1. Install NAV Coin Core (Both Servers) 2. Install Subchain Core (Both Servers) 3. Configure Incoming Server 4. Configure Outgoing Server 5. Making backups 6. Load NAV Coin and Subchain Coin 7. Test the NavTech Cluster 8. Start and announce the NavTech Cluster Support Need support with setting up your NavTech Server Cluster? The best place to get support is the NAV Coin Slack channel. Sign up for Slack: https://navcoin-sign-up.herokuapp.com/ and join Slack at: https://navcoin.slack.com/messages. Join #NavTech channel to ask questions about NavTech. NavTechServers.com https://navtechservers.com is a website made by colvano. All NavTech server clusters are listed on this website. NTS also provides written and video tutorials for everything related to NAV Coin/NavTech. Github The official NAV Coin GitHub can be found at https://github.com/navcoin/navtech. Donate You can show your appreciation for this document by donating to: Bocyaj: NMa6VisrXr6tBSeL3jwjCCEPLaFAMUggd6 Colvano: NAm1KcutKi7xafvKLaVP2MsBgnw1pjT1 6

NAV Coin Core installation First, install the NAV Coin Core on both servers. It is easiest to do both servers at the same time since the steps are exactly the same. The NAV Coin Core is the NAV Coin Core full node wallet. For the server we will be using the CLI version without a graphical user interface. Make sure to change the RPCuser and RPCpassword in the navcoin.conf file and write it down somewhere. You will need those later in the process. I recommend writing down the changes you make in the configuration file. This way you will be able to look it up at a later moment without having to open the file. 1) Install required libraries and tools for your wallet: NOTE: you will be prompted to enter the password for your user. NOTE: All in the textbox below is one line of code! This is the only multiple line code in the document. sudo apt-get -y install build-essential libssl-dev libdb++-dev libcurl3-dev libboost-all-dev libqrencode-dev libgmp3-dev libminiupnpc-dev git zip automake npm 2) Download and extract the NAV Coin wallet: NOTE: Check the latest version of the NAV Coin Core wallet. The URL could be different. wget https://www.navcoin.org/files/navcoin-4.0.5/navcoin-4.0.5-x86_64-linux-gnu.tar.gz tar zxvf navcoin-4.0.5-x86_64-linux-gnu.tar.gz 3) Briefly start the NAV Coin wallet so that the configuration directory is created../navcoin-4.0.5/bin/navcoind 4) After a few seconds, press ctrl+c to kill this process and get back to the command line. 5) Download the blockchain bootstrap file into the NavCoin4 folder (.navcoin4 because it is an hidden folder). The URL can be different in the future..navcoin4 wget https://www.navcoin.org/files/navcoin-4.0.4/navcoin-4.0.4-blockchain.zip unzip -o navcoin-4.0.4-blockchain.zip 7

6) Create a configuration file using a terminal editor called nano. You will need to do this step on both incoming and outgoing servers individually..navcoin4 sudo nano navcoin.conf a) Copy the contents of the text box below and paste them in the navcoin.conf file. Replace the rpcuser and rpcpassword values as indicated. Only use characters and numbers for the rpcuser/rpcpassword values, symbols have been known to cause issues. rpcuser=<<rpc_user_incoming>> rpcpassword=<<rpc_password_outgoing>> rpcport=44444 port=44440 listen=1 daemon=1 server=1 txindex=1 staking=1 b) To save and quit the file, hit [ctrl+x], [Y] and [enter]. Your file is now created and saved. 7) With configuration files in place, we can now start the NAV Coin wallet../navcoin-4.0.5/bin/navcoind -reindex-chainstate & NOTE: you may have to hit enter key to get your command prompt back. 8

Wait a couple of minutes, your wallet will now start syncing the blockchain. You can monitor the progress with the following command: (it will output the number of the last block downloaded)./navcoin-4.0.5/bin/navcoin-cli getblockcount Be patient, at first the wallet might respond with an error code. Try again after a few minutes. You will have to wait until this block height matches that of the NAV Coin block explorer. Click the link below to get the current block height of the explorer. https://chainz.cryptoid.info/nav/api.dws?q=getblockcount You can proceed to the next procedure while your NAV Coin wallet syncs with the blockchain. 9

Subchain Core installation After installing the NAV Coin Core on both servers, it is time to install the Subchain Core. The process is the same for both servers. Make sure to change the RPCuser and RPC password in the navajoanonsubchain.conf file and write those down. You will need those later in the process. 1) Ensure you are in your home directory and clone the source code from github. git clone https://github.com/navcoin/subchain.git 2) Build the executable from source ( just copy and paste, the make command will have a LOT of output and will take between 5-10 minutes to complete. subchain/src/ mkdir obj chmod 777 obj make -f makefile.unix -j2 3) Briefly start the NAV Coin wallet so that the configuration directory is created../subchain/src/navajoanonsubchaind After a few seconds press ctrl+c to kill this process and get back to the command prompt! 4) Create a configuration file for the subchain.navajoanonsubchain sudo nano navajoanonsubchain.conf 5) Paste the following contents into the navajoanonsubchain.conf file: rpcuser= <<user>> rpcpassword= <<password>> rpcport=33333 port=33330 addnode= 95.183.52.28 addnode=95.183.52.29 listen=1 daemon=1 server=1 txindex=1 staking=1 o To save and quit the file, hit [ctrl+x], [Y] and [enter]. Your file is now created and saved. 10

6) With configuration files in place, we can now start the Subchain wallet../subchain/src/navajoanonsubchaind --daemon NOTE: you may have to hit enter key to get your prompt back. With a couple minutes, your wallet will now start syncing with the blockchain. You can monitor this process with the following command: (it will output the block # in which your copy of the blockchain is on)./subchain/src/navajoanonsubchaind getblockcount * Subchain blockcount on 4 october 2017 Be patient, at first the wallet might respond with an error code. Try again after a few minutes. 11

Make sure the NAV Coin and Subchain Blockchains are fully synced before you continue Install NavTech It is time to install NavTech on the incoming and outgoing server. This step is the last step that is equal for both the incoming and outgoing server. Install tools and download source Git, NPM and NodeJS are required for NavTech. First install those onto your incoming and outgoing servers. Install git and npm: sudo apt-get update sudo apt-get install git npm Install nodejs: sudo apt-get install curl curl -sl https://deb.nodesource.com/setup_6.x sudo -E bash - sudo apt-get install -y nodejs node -v The command node -v will show the version of NodeJS installed. Clone NavTech Clone NavTech from the GitHub repository: git clone https://github.com/navcoin/navtech.git Now it is time to setup both the Outgoing and Incoming server. All steps until here were the same for both servers. Now it will be different for both servers. 12

Setup Incoming Server Make sure you are on the incoming server. In this chapter you only need the incoming server for configuration. Configure default.json Create default.json, the configuration file on the incoming server. navtech/config cp example-incoming.default.json default.json Edit the default.json file : navtech/config sudo nano default.json In the default.json file you will have to make multiple changes: 1. Global.ipAddress: YOUR DEVICE IP 2. Incoming.local.ipAddress: IP OF YOUR INCOMING SERVER 3. Incoming.remote.ipAddress: IP OF YOUR OUTGOING SERVER 4. Incoming.remote.ipAddress: IP OF YOUR 2 nd OUTGOING SERVER a. *(only if you have more than 1 outgoing server, if not delete: { ipaddress : 192.168.1.4, port : 3000 5. Incoming.minAmount: Set the min amount you want your server to accept 6. Incoming.maxAmount: Set the max amount you want your server to accept 7. Incoming.anonFeePercent: Set the % fee you ask for processing anonymous transactions 8. Incoming.notificationEmail: Set email you want to use to receive notifications 9. Incoming.smtp: Set smtp settings for your email 10. Incoming.navCoin.user: RPCuser from the navcoin.conf file 11. Incoming.navCoin.pass: RPCpassword from navcoin.conf file 12. Incoming.navCoin.walletPassphrase: The password you want to use for the wallet 13. Incoming.subChain.user: RPCuser from the navajoanonsubchain.conf file 14. Incoming.subChain.pass: RPCpassword from navavajoanonsubchain.conf file 15. Incoming.subChain.walletPassphrase: The password you want to use for the wallet 16. Incoming.secretOptions.salt: 32 random chars (use to generate: https://www.random.org/strings/) 17. Incoming.secret: This will be generated at a later step and added to the default.json file o To save and quit the file, hit [ctrl+x], [Y] and [enter]. Your file is now created and saved. 13

* The default.json file on the incoming server 14

Random string generator (You can use any other alternative. Just a 32 character random string is required.) 1. Generate 2 random string 2. 16 characters long 3. Numeric, Uppercase and lowercase letters 4. Click Get Strings 5. Copy the two strings and paste them behind Incoming.secretOptions.salt 6. Make sure the two strings form a 32 char string as in: GyyfyZ12JjZRKuhsr9z5Bf17oGzbcXKn 15

Running the incoming setup scripts After editing the default.json configuration file it is time to run the setup scripts. First thing is to clean and install the npm modules, so change directory to the root(navtech) of the project and run these commands: navtech sudo rm -rf node_modules sudo npm cache clean sudo npm install Make the folders for the generated RSA keys to be stored in mkdir keys keys/private keys/public Then run the setup command. If you do not encrypt the wallet, your wallet will now begin to generate a pool of NAV Coin and Subchain addresses to use for transactions. sudo npm run setup If your navcoin wallet was unencrypted and you've set the global encryptedwallet flag to true it will encrypt the wallet with the walletpassphrase you set in the incoming settings file and ask you to restart navcoind. Then run the setup again sudo npm run setup If your subchain wallet was unencrypted and you've set the global encryptedwallet flag to true it will encrypt the wallet with the walletpassphrase you set in the incoming settings file and ask you to restart navajoanonsubchaind. Then run the setup again sudo npm run setup If your navcoin and subchain were already encrypted or they were encrypted using the steps above, your wallet will now begin to generate a pool of NAV Coin and Subchain addresses to use for transactions. You should see status messages appear with wallet addresses. Wait for this process to complete. Error? Look at the next page. After generating the addresses, it should also output the generated secret and let you know that the operation was successful. Please copy the secret, re-open the incoming settings file and paste it as the value for the property secret navtech/config/ sudo nano default.json Add the generated secret key to Incoming.secret: o Incoming.secret: Generated secret 16

Error? (Skip if you successfully generated the secret) If no secret is generated or you do not get SUCCESS: everything is configured you probably made a mistake in the default.json configuration. Make sure the RPCusers and RPCpasswords are correct (for NAV Coin Core and Subchain Core) and that the other information is correct. navtech sudo nano default.json After that: rm -rf node_modules sudo npm cache clean sudo npm install rm -rf keys mkdir keys keys/private keys/public sudo npm run setup If everything is configured correct, you should get: STATUS: new holdingaccount address generated: STATUS: generated secret: SUCCESS: everything is configured After generating the addresses, it should also output the generated secret and let you know that the operation was successful. Please copy the secret, re-open the incoming settings file and paste it as the value for the property secret navtech/config/ sudo nano default.json Add the generated secret key to Incoming.secret: Incoming.secret: Generated secret 17

Build NavTech After successfully generating the secret it is time to build NavTech: navtech sudo npm run build Forever I recommend using a service called forever js to manage the NavTech server for you. It will restart the application if it were to crash and also consolidate and version any error logs which are produced. Install forever: sudo npm install -g forever Start forever: sudo forever start dist/navtech.js Check forever logs: sudo forever logs 0 The logs which are displayed should simply let you know the server has started. If this is the first server you have setup it will also report it was unable to contact an outgoing server. You can test the server is running by opening your browser and navigating to your server's IP address and port, for example: https://95.183.53.184:3000 We use generated unsigned SSL certificates, so proceed past the invalid SSL certificate and you should see a response like: {"status":200,"type":"success","message":"server is running!","servertype":"incoming","anonhash":"429f859a98c6594e7c64351c01c288"} 18

Setup Outgoing Server Setting up the outgoing server is much the same process as the incoming server but with some different settings. Make sure you are on the outgoing server. In this chapter you only need the outgoing server for configuration. First determine the amount of NAV Coin you want to have in the NavPool and set the parameter: navtech/src/validators sudo nano outgoing.validation.json Change the NavPool parameter: o navpoolamount.min: CHANGE TO THE MIN AMOUNT YOU WANT FOR NAVPOOL To save and quit the file, hit [ctrl+x], [Y] and [enter]. Your file is now created and saved. On the outgoing server open the config folder and copy the outgoing settings example. navtech/config cp example-outgoing.default.json default.json sudo nano default.json In the default.json file you will have to make multiple changes: 1. Outgoing.local.ipAddress: IP OF YOUR OUTGOING SERVER 2. Outgoing.remote.ipAddress: IP OF YOUR INCOMING SERVER 3. Outgoing.remote.ipAddress: IP OF YOUR 2 nd INCOMING SERVER a. *(only if you have more than 1 INCOMING server, if not delete): 4. Outgoing.minAmount: Same setting as Incoming server 5. Outgoing.maxAmount: Same setting as Incoming server { ipaddress : 192.168.1.2, port : 3000 } 6. Outgoing.navPoolAmount: The amount of NAV Coin you will keep in the NavPool 7. Outgoing.anonTxFeeAddress: The address you want your TX Fee income to be send to 8. Outgoing.txFeePayoutMin: The min amount of collected TX Fee before sending out 9. Outgoing.notificationEmail: Set email you want to use to receive notifications 10. Outgoing.smtp: Set smtp settings for your email 11. Outgoing.navCoin.user: RPCuser from the navcoin.conf file 12. Outgoing.navCoin.pass: RPCpassword from navcoin.conf file 13. Outgoing.navCoin.walletPassphrase: The password you want to use for the wallet 14. Outgoing.subChain.user: RPCuser from the navajoanonsubchain.conf file 15. Outgoing.subChain.pass: RPCpassword from navavajoanonsubchain.conf file 16. Outgoing.subChain.walletPassphrase: The password you want to use for the wallet 17. Outgoing.secret: The secret generated by the incoming server To save and quit the file, hit [ctrl+x], [Y] and [enter]. Your file is now created and saved. 19

* The default.json file on the outgoing server 20

Running the Outgoing setup scripts After editing the default.json configuration file it is time to run the setup scripts. First thing is to clean and install the npm modules, so change directory to the root(navtech) of the project and run these commands: navtech sudo rm -rf node_modules sudo npm cache clean sudo npm install Make the folders for the generated RSA keys to be stored in mkdir keys keys/private keys/public Then run the setup command. If you do not encrypt the wallet, your wallet will now begin to generate a pool of NAV Coin and Subchain addresses to use for transactions. sudo npm run setup If your navcoin wallet was unencrypted and you've set the global encryptedwallet flag to true it will encrypt the wallet with the walletpassphrase you set in the incoming settings file and ask you to restart navcoind. Then run the setup again sudo npm run setup If your subchain wallet was unencrypted and you've set the global encryptedwallet flag to true it will encrypt the wallet with the walletpassphrase you set in the incoming settings file and ask you to restart navajoanonsubchaind. Then run the setup again sudo npm run setup If your navcoin and subchain were already encrypted or they were encrypted using the steps above, your wallet will now begin to generate a pool of NAV Coin and Subchain addresses to use for transactions. You should see status messages appear with wallet addresses. Wait for this process to complete. Error? Look at the next page. After generating the addresses, it should let you know that the operation was successful. 21

Error? (Skip if you successfully generated the addresses) If you get an error you probably made a mistake in the default.json configuration. Make sure the RPCusers and RPCpasswords are correct (for NAV Coin Core and Subchain Core) and that the other information is correct. To edit your default.json: navtech/config sudo nano default.json o To save and quit the file, hit [ctrl+x], [Y] and [enter]. Your file is now created and saved. After that: rm -rf node_modules sudo npm cache clean sudo npm install rm -rf keys mkdir keys keys/private keys/public sudo npm run setup 22

Build NavTech Build your version of NavTech: navtech sudo npm run build Forever I recommend using a service called forever js to manage the NavTech server for you. It will restart the application if it were to crash and also consolidate and version any error logs which are produced. Install forever: sudo npm install -g forever Start forever: sudo forever start dist/navtech.js Check forever logs: sudo forever logs 0 The logs which are displayed should simply let you know the server has started. If this is the first server you have setup it will also report it was unable to contact an outgoing server. You can test the server is running by opening your browser and navigating to your server's IP address and port, for example: https://95.183.53.185:3000 We use generated unsigned SSL certificates, so proceed past the invalid SSL certificate and you should see a response like: {"status":200,"type":"success","message":"server is running!","servertype":"outgoing","anonhash":"429f859a98c6594e7c64351c01c288"} 23

Creating Backup Before you put any NAV Coins and Subchain Coins on the servers, you should make backups. An easy way to make backups is to make use of a FTP Client. Filezilla for example can be used for this (https://filezilla-project.org/). Through Filezilla you can connect to your Server and easily download files to your computer. 1. Download and install Filezilla 2. Open Filezilla 3. Go to file 4. Go to Site manager 5. Add your servers: 6. Connect 24

7. Go to.navcoin4 (for NAV Coin wallet.dat) or.navajoanonsubchain (for Subchain wallet.dat) 8. Copy the wallet.dat (for both NAV Coin and Subchain) to your computer (you can drag & drop) 9. Save the wallet.dat files in a save place. I suggest not on your PC but USB for example. 10. Do this for both the Incoming and Outgoing servers. Label the backups correct. You will have 4 wallet.dat backups: 1. Wallet.dat (Incoming NAV Coin) 2. Wallet.dat (Incoming Subchain coin) 3. Wallet.dat (Outgoing NAV Coin) 4. Wallet.dat (Outgoing Subchain coin) 25

Subchain Coin (Incoming) Subchain coins are held on the incoming server in the Subchain Core wallet. When a NavTech transaction comes in, the Subchain coins are used to send encrypted information about the NavTech transaction to the outgoing server. The outgoing server will always return all the Subchain Coins to the incoming server. 1. First, get a Subchain address on the incoming server./subchain/src/navajoanonsubchaind getaccountaddress incomingaccount 2. Send subchain coins to the echoed address split into 1000 SUB transactions. The reason why we split it up is because a wallet can only spend (and receive change from) a transaction once per block. So if we had all our SUB in 1 transaction to start with the server would have trouble processing more than 1 transaction at a time../subchain/src/navajoanonsubchaind sendtoaddress xxxxxxxxxxxxxxxxxxx 3. To check the balance of Subchain coins:./subchain/src/navajoanonsubchaind getbalance To get Subchain coins, ask current operators of NavTech servers. The Subchain coins hold no value. Best is to contact the NAV Coin team (Craig) to receive Subchain coins. You can find him on Slack as @Prole. NAV Coins in the NavPool (Outgoing) The NavPool is used to send NAV Coins from the Outgoing server to the receiver. The NavPool will be refilled with NAV Coins from the Incoming server. 1. Get an account address./navcoin-4.0.5/bin/navcoind-cli getaccountaddress outgoingaccount 2. Send NAV Coins to the address split into smaller (max. 1000) NAV Coin transactions. Send NAV Coins equal to the maximum value of the pool size you specified in the default.json file. The reason why we split it up is because a wallet can only spend (and receive change from) a transaction once per block. So if we had all our NAV Coins in 1 transaction to start with the server would have trouble processing more than 1 transaction at a time. 3. To check the balance of your NAV Coin Core wallet on the outgoing server:./navcoin-4.0.5/bin/navcoind-cli getbalance 26

Testing NavTech server cluster Now you have both servers setup, it is time to send some test transactions. Make sure you add the correct IP addresses and port number into your NAV Coin Core wallet and send some small value test transactions through your NavTech servers. 1. Make sure the Global.ipAddress: YOUR DEVICE IP in the default.json file on the incoming server is the IP Address of the device you will use for testing. 2. Open the Core Wallet on your testing device 3. Delete all NavTech servers from your configuration a. Go to Send b. Go to Manage NavTech Server 4. Add your Incoming server to your core wallet 5. Now you can make test transactions through your own NavTech server Cluster. 27

How to test the servers? You want to be a 100% sure everything is working perfectly before you make your cluster public. On my computer I had the Core Wallet running to make NavTech Transactions from. I sent the NavTech transactions to my mobile wallet. Some things to consider: Start with small transactions and one at a time Try to send multiple transactions in a short time. Control how the server handles this Send a transaction bigger than the NavPool, this should either be rejected or returned Ask others to make small transactions through your server Control if GET INFO displays the correct information: 28

Make the cluster public If you are happy with your configuration and transactions are processing successfully you will want to remove the GLOBAL.maintenance and GLOBAL.allowedIps settings from your config/default.js file so the servers are open for public use. 1. Stop the daemons on your servers (Incoming and outgoing) navtech sudo forever stop 0./subchain/src/navajoanonsubchaind stop./navcoin-4.0.5/bin/navcoin-cli stop 2. Edit the default.json file on your incoming server and delete GLOBAL.maintenance and GLOBAL.allowedIps: navtech/config sudo nano default.json And delete (so everyone is able to use your server for transactions): maintenance : false, allowedips : [{ ipaddress : xxx.xxx.x.x }] 29

Starting the servers Outgoing server 1. Start navcoind./navcoin-4.0.5/bin/navcoind --daemon 2. Start Subchain./subchain/src/navajoanonsubchaind --daemon 3. Start Forever navtech sudo forever start dist/navtech.js Incoming server 4. Start navcoind./navcoin-4.0.5/bin/navcoind --daemon 5. Start Subchain./subchain/src/navajoanonsubchaind--daemon 6. Start Forever navtech sudo forever start dist/navtech.js Test if everything is working correct one more time before you announce the server cluster. 30

Announce the Server Cluster When everything is ready and tested, it is time to announce the Server Cluster. This way you will be able to collect Transaction (TX) Fee from NavTech transactions done by others through your server. Reddit Reddit (https://www.reddit.com/navcoin) is a good place to announce your server. Make sure to give the following information: Transaction Fee (%) Min. Transaction size (NAV Coin) Max. Transaction size (NAV Coin) Server IP (only of the incoming server): xxx.xxx.x.x:3000 NavTechServers.com All NavTech Server clusters are listed on https://navtechservers.com/navtech-servers/. Contact colvano on telegram (https://t.me/navcoin) or Slack to get your server listed. 31