| Description | Command |
---|
1 | Set an environment variable to match the Fully-Qualified Domain Name of the node - you will need to type this command and change 'FQDN' (the value between the quotes ' ') to the value used in the domain registration for your node | DO NOT USE CAPITAL LETTERS IN PLACE OF 'FQDN' REPLACE ONLY WITH LOWER CASE!
use only lower case letters like the example Panel |
---|
borderColor | grey |
---|
bgColor | black |
---|
titleColor | white |
---|
borderWidth | 2 |
---|
titleBGColor | black |
---|
borderStyle | solid |
---|
title | Example Output |
---|
| zenops@node01:~$ FQDN='node01.zentest.win' |
|
2 | Add the FQDN variable to the .bashrc file, for the non-root user, this will ensure it is persistent across sessions |
Code Block |
---|
echo "export FQDN=$FQDN" >> $HOME/.bashrc |
|
3 | |
Code Block |
---|
sudo apt-get update |
|
4 | Install the universe repository and the initial packages (build-essential, software-properites-common, apt-transport-https, lsb-release, dirmngr, pwgen, git, jq ufw, curl, aria2)
|
Code Block |
---|
sudo apt install software-properties-common -y |
Skip adding the universe repository on Debian systems, DO NOT SKIP THE OTHER ENTRIES IN THIS STEP Code Block |
---|
sudo add-apt-repository universe -y |
Be sure to copy entire commands, especially for long command strings Code Block |
---|
sudo apt-get install build-essential apt-transport-https lsb-release dirmngr pwgen git jq ufw curl aria2 -y |
IF USING DEBIAN, ENTER THE FOLLOWING. DO NOT ENTER THE FOLLOWING FOR UBUNTU Code Block |
---|
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - |
|
5 | Add the Horizen repository to the 'sources.list' file |
Code Block |
---|
| echo 'deb https://HorizenOfficial.github.io/repo/ '$(lsb_release -cs)' main' | sudo tee /etc/apt/sources.list.d/zen.list |
|
6 | Pull the gpg key used to sign Horizen packages | Pulling the gpg key may take some time, if it times out, run it again until it has been imported Code Block |
---|
gpg --keyserver keyserver.ubuntu.com --recv 219F55740BBF7A1CE368BA45FB7053CE4991B669 |
Alternate key server if the one above fails to respond Code Block |
---|
gpg --keyserver ha.pool.sks-keyservers.net --recv 219F55740BBF7A1CE368BA45FB7053CE4991B669
|
|
7 | Export the gpg key and add to apt, this enables package verification |
Code Block |
---|
gpg --export 219F55740BBF7A1CE368BA45FB7053CE4991B669 | sudo apt-key add -
|
|
8 | Install the latest version of snap and use it to install the snap version of certbot
|
Code Block |
---|
sudo apt install snapd -y && sudo snap install core |
Install certbot using snap and copy certbot into /usr/bin Code Block |
---|
sudo snap install --classic certbot && sudo cp /snap/bin/certbot /usr/bin |
|
9 | Update the package cache again with the Horizen repository added as sources |
Code Block |
---|
sudo apt-get update |
|
10 | Install the zen software |
Code Block |
---|
sudo apt-get install zen -y |
|
11 | Download the required parameters for zend |
Code Block |
---|
zen-fetch-params |
|
12 | Run zend after installation, read the message, it will then stop NOTE: Do not restart zend as you will see in the last two lines of the warning message, proceed to step 13 below | |
13 | Create a configuration file for zend, copy and paste the entire block of text on the right and paste on the command line |
Code Block |
---|
cat <<EOF > ~/.zen/zen.conf
rpcuser=$(pwgen -s 32 1)
rpcpassword=$(pwgen -s 64 1)
rpcport=18231
rpcworkqueue=512
rpcallowip=127.0.0.1
server=1
daemon=1
listen=1
txindex=1
logtimestamps=1
### testnet config
#testnet=1
EOF |
|
14 | Run zend with the configuration file in place, it should automatically run in the background as a daemon |
Code Block |
---|
zend && sleep 8 |
|
15 | Check that the blocks are increasing, run this command a couple of times with a few seconds in between and verify that the row shown in the example (blocks) shows an increasing number
NOTE: While the zend daemon is starting up, the 'zen-cli getinfo' command will initially return what looks like an error. When the daemon has loaded you will see the output as shown under the command on the right. Therefore do not be alarmed if you see the error shown below prior to the example output.
error code: -28 error message: Loading block index... |
Code Block |
---|
zen-cli getinfo |
Panel |
---|
borderColor | grey |
---|
bgColor | black |
---|
titleColor | white |
---|
borderWidth | 2 |
---|
titleBGColor | black |
---|
borderStyle | solid |
---|
title | Example Output |
---|
| zenops@node01:~$ zen-cli getinfo { "version": 2001850, "protocolversion": 170002, "walletversion": 60000, "balance": 0.00000000, "blocks": 4200, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 3493670.15884702, "testnet": false, "keypoololdest": 1546539045, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00000100, "errors": "WARNING: check your network connection, 57 blocks received in the last 4 hours (96 expected)" } |
|
| Optional Step - Bootstrap Blocks and Chainstate Files and Folders From an Existing Node - DO NOT PERFORM IF THIS IS YOUR FIRST NODE! |
---|
16 | These are procedures for individuals with existing nodes with a complete copy of the blockchain to get new nodes synchronized quickly (5 to 10 minutes) |
|
| CONTINUE BELOW IF THIS IS YOUR FIRST NODE |
---|
17 | Configure a swap file and benchmark a jointsplit operation on your node Child pages (Children Display) |
---|
|
| |