Manual Install
This install guide will be using Ubuntu 18.04 as it is what is recommended by Zel's Team.
- Collateral (10K Basic/ 25K Super/ 100K BAMF) Exchange List
- Control wallet and will recommend to use Zelcore
- SSH client such as MobaXterm or Putty
- VPS that meets the required specs for the tier
- BAMF | 8vCore | 32GB RAM | 600GB SSD | 6TB total monthly bandwidth @ 100mbps+
- Super | 4vCore | 8GB RAM | 150GB SSD | 4TB total monthly bandwidth @ 100mbps+
- Basic | 2vCore | 4GB RAM | 50GB SSD | 2.5TB total monthly bandwidth @ 100mbps+
1. Login as root, copy password you got from your VPS provider, and right click and paste. You won't see password being typed out but it's there so hit enter after pasting. Create a user, add user to the sudo group, install docker from their apt repo, add user to the docker group, and reboot. List of commands to do all this.
- adduser USERNAME Change USERNAME to name of your choice and replace USERNAME with one you chose in following commands.
- adduser USERNAME sudo
- sudo apt-get update
- sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- sudo apt-get update
- sudo apt-get install docker-ce docker-ce-cli containerd.io -y
- adduser USERNAME docker
- reboot
Note: You will be prompted to add user info after you create a password. Just leave them blank and hit enter it is not required.
2. Sign back in as the User you just created and update and upgrade packages and install required dependencies for zelcash.
- sudo apt-get update && sudo apt-get upgrade -y
- sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python python-zmq zlib1g-dev wget curl bsdmainutils automake -y
3. Create the Zelcash directory, Zelcash conf file, and bootstrap(optional but do recommend it for quick sync).
- mkdir ~/.zelcash
- touch ~/.zelcash/zelcash.conf
-
cat << EOF > ~/.zelcash/zelcash.conf
rpcuser=USERNAME
rpcpassword=PASSWORD
rpcallowip=127.0.0.1
rpcallowip=172.18.0.1
rpcport=16124
port=16125
zelnode=1
zelnodeprivkey=YOUR_ZELNODE_PK
zelnodeoutpoint=YOUR_COLLATERAL_TXID
zelnodeindex=TX_OUTPUT_INDEX
server=1
daemon=1
txindex=1
listen=1
externalip=SERVER_IP_ADDR
bind=SERVER_IP_ADDR
addnode=explorer.zel.cash
addnode=explorer2.zel.cash
addnode=explorer.zel.zelcore.io
addnode=blockbook.zel.network
maxconnections=256
EOF
Note: Change rpcuser, rpcpassword, zelnodeprivkey, zelnodeoutpoint, zelnodeindex, externalip, and bind with your values. Best way to do this is copy this to a text editor such as notepad, replace values, then copy and paste it to the terminal.
Optional Bootstrap to Sync Quick
- wget https://www.dropbox.com/s/kyqe8ji3g1yetfx/zel-bootstrap.zip; unzip zel-bootstrap.zip -d ~/.zelcash; rm zel-bootstrap.zip
4. This guide will be using the Apt repo to install Zelcash and Zelbench since you have no choice but to use the Apt repo to install the Zelbench package. If you want to build Zelcash from source follow guide from Zel's Gitbook. After installing Zelcash and Zelbench execute the script to install the zkSNARK params.
- echo 'deb https://apt.zel.cash/ all main' | sudo tee /etc/apt/sources.list.d/zelcash.list
- gpg --keyserver keyserver.ubuntu.com --recv 4B69CA27A986265D
- gpg --export 4B69CA27A986265D | sudo apt-key add -
- sudo apt-get update
- sudo apt install zelcash zelbench -y
- bash zelcash-fetch-params.sh
Note: If the first command failed to fetch the deb file try fetching it from Github using this line.
echo 'deb https://zelcash.github.io/aptrepo/ all main' | sudo tee /etc/apt/sources.list.d/zelcash.list
1. Install Mongodb and Nodejs as it is required for Zelflux. Although there are few methods to installing Mongodb and Nodejs this guide will use the recommended method by most.
- wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
- echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
- sudo apt-get update
- sudo apt-get install mongodb-org -y
- sudo service mongod start
- sudo systemctl enable mongod
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
- source ~/.profile
- nvm install 12.16.1
Note: Mongodb install is using a package for Ubuntu 18.04 so if you are using a different os go to Mongodb's doc's and use deb package for your os.
2. Start Zelcash, clone Zelflux repo, install Zelflux, and have Zelflux run using a background service such as screen/tmux. This guide will use Pm2.
- zelcashd >/dev/null 2>&1
- git clone https://github.com/zelcash/zelflux.git
- touch ~/zelflux/config/userconfig.js
-
cat << EOF > ~/zelflux/config/userconfig.js
module.exports = {
initial: {
ipaddress: 'SERVER_IP_ADDRESS',
zelid: 'YOUR_ZELID',
testnet: false
}
}
EOF
Note: Change SERVER_IP_ADDRESS and YOUR_ZELID to your values. Just as you did in Step 3 of installing Zelcash copy this over to a text editor, replace values, then paste it to the terminal.
- npm i -g pm2
- pm2 startup systemd -u $(whoami)
- sudo env PATH=$PATH:/home/$(whoami)/.nvm/versions/node/$(node -v)/bin pm2 startup systemd -u
$(whoami) --hp /home/$ (whoami) > /dev/null - pm2 start ~/zelflux/start.sh --name zelflux
- pm2 save
Installation is now complete. You can now start your Zelnode from Zelcore/Zelmate. Please note that only Mongodb and Zelflux will restart on system restarts and that you would need to create a service for Zelcash on your own. This guide was mainly created to install Zelnode and Zelflux without using the script.