Validator Home
Validator v0.2.1 Installation
48min
how to setup a xandeum devnet validator note this guide shows commands for text editors nano and vim a quick search can find a guide or video to operate these text editors more efficiently and make your life easier note if you previously set up your validator on v0 1 or v0 2 then you don't need to complete these steps and can follow the version upgrade v0 2 1 docid\ hmmaj43e20vhsk4ol8noa instead! 1\) update and setup our user start with a fresh instance of linux as the root user these instructions use ubuntu server 22 04 2lts before you continue! make sure you see your entire drive space as available! use df h to see your free space you want to see that you have all your space in a free partition ubuntu will want to default to 100g lvm the preferance is to eliminate lvm and raid and use all available space for your / mount point if you don't show all your disk space, run the ubuntu installer again and pay attention to the storage section get root user run as sudo or root user if you don't have access to the root user, then you will need to prepend all your requests in this section with sudo notice in the screenshot below i start as user xand change to root user then back to xand root user has all the privledges and won't require sudo but some items need to be ran as the xand user (ie rust install, validator build, etc) use sudo i to change to root user and exit to end root user update your installation cli sudo apt get update y && sudo apt get upgrade y install a few apps cli sudo apt install y bzip2 vnstat cli sudo systemctl enable now vnstat create xandeum validator user account skip creating a user if you already have it cli sudo adduser xand enter a password and accept defaults to the following questions new password retype new password passwd password updated successfully changing the user information for xand enter the new value, or press enter for the default full name \[] room number \[] work phone \[] home phone \[] other \[] is the information correct? \[y/n] y add new user to sudo group cli sudo usermod ag sudo xand change to the xandeum user account cli su xand switch the xand home directory note if you log in as root and switch to xand it will bring you into the /root dir! so use cd to get to home dir each time you log in! cli cd test switching between root user and xand user note when you are root user, your line starts with root and when you are xand user the line starts with xand cli sudo i cli exit 2\) choose which release you want to install go to the xandeum binaries repo and download the tar bz2 file to your server this guide is using version v0 2 1 you can right click on the file name to copy the download link https //github com/xandeum/binaries/releases cli cd wget https //github com/xandeum/binaries/releases/download/v0 2 1/xand v0 2 1 tar bz2 create the needed bin folder (do not create the active release folder as before this will be a symbolic link only) cli mkdir / local/share/xandeum/install/releases/v0 2 1/bin p extract the file into the new bin dir cli cd tar xf xand v0 2 1 tar bz2 directory / local/share/xandeum/install/releases/v0 2 1/bin test a binary by running it in the local folder cli cd / local/share/xandeum/install/releases/v0 2 1/bin cli /xandeum validator v set our symlink, path, and some convenient aliases set a symlink from our new release to the active release folder we will use in our $path later (this command removes an old symlink to active release if it exists) note the subtle difference in not using trailing / it will affect the $path cli rm /home/xand/ local/share/xandeum/install/releases/active release; ln sf /home/xand/ local/share/xandeum/install/releases/v0 2 1/bin /home/xand/ local/share/xandeum/install/releases/active release backup the old $path for reference cli echo $path >> /path bak using your favorite editor to open the bashrc config nano nano / bashrc vim vim / bashrc add the following lines at the very bottom and save your changes and exit (remove the old lines from the previous install) (remove the old lines from the previous install) text export path="/home/xand/ local/share/xandeum/install/releases/active release $path" alias l="ls a color=auto" alias ll="ls alh color=auto" alias xv="xandeum validators sort skip rate reverse" alias xg="xandeum gossip" alias xe="xandeum epoch info" alias xb="xandeum balance" fully exit all shells and come back in (exit or reboot) check your install of the software after logging back in as xand user, time to test if everything worked check xandeum software version cli cd xandeum v results should appear simlar to the following 3\) configure your validator instance please observe proper security of your private keys! mainnet keys should be created on a secure machine, not an unknown remote machine record your 12 words (and bip39 passphrase) in a safe spot for devnet it's not critical if you lose them but if on mainnet, losing the keys equals lost funds there is no recovering from lost keys for mainnet, your withdraw authority key should never be on your machine! generate your 3 devnet keys note if you already have created keys on this machine from the previous install, don't create new ones! skip to switch to xandeum cluster instead you can leave the bip39 passphrase empty (only applies to devnet/tesnet since it is not real money) your 12 words and pubkey are shown immediatly after the prompt for bip39 passphrase take note of the public key it provides you (copy it down) it will help us help you should there be an issue run as xand user! cli cd cli xandeum keygen new o /validator keypair json cli xandeum keygen new o /vote keypair json cli xandeum keygen new o /withdraw keypair json to view your public key later cli xandeum keygen pubkey /validator keypair json view your current configuration information cli xandeum config get switch to xandeum cluster cli xandeum config set url https //api devnet xandeum com 8899 set your new keypair to be used by default cli xandeum config set keypair /validator keypair json testing our work so far check your connecrtion to the cluster xandeum gossip request an airdrop from the xand faucet cli xandeum airdrop 1 /validator keypair json do this again 4 more times (we are also giving you fake xnt {xandeum native token} to get started ) there is a daily limit per wallet these tokens on testnet/devnet are not real check your wallet balance cli xandeum balance you should have 5 tokens present if you do it 5x's create your vote account submit a transaction on the blockchain setting up your vote account cli xandeum create vote account commission 8 /vote keypair json /validator keypair json /withdraw keypair json to find your vote account pubkey later, use cli xandeum keygen pubkey /vote keypair json 4\) configure your start script configuration create your validator configuration file using your editor nano nano /validator start sh vim vim /validator start sh there will be nothing in here, so copy and paste in the following configurations save and exit text #!/bin/bash exec xandeum validator \\ \ known validator hhuygltes6grue95pkkzak2upuqmxepwbvqv2toqfbzn \\ \ known validator 6vy4syv6ntljq4tbcxuggptugorvh2fjkm6tovmfsfr2 \\ \ known validator 3dziyo933m7vfttsb7wudjv92cg69qwvys1s753xrc59 \\ 	 \ known validator hohkf7wgm4mzvnsptzfudxzwr6mzr9ndupwwzawe28oz \\ \ entrypoint xand 1 devnet xandeum com 8000 \\ \ entrypoint xand 2 devnet xandeum com 8000 \\ \ entrypoint xand 4 devnet xandeum com 8000 \\ \ entrypoint xand 5 devnet xandeum com 8000 \\ \ expected shred version 60140 \\ \ expected genesis hash hmvxqcayhbdtovkc5vft5kzja1yy7qdpmngfsvtmohzx \\ \ snapshot interval slots 300 \\ \ full snapshot interval slots 3000 \\ \ identity /validator keypair json \\ \ vote account /vote keypair json \\ \ ledger /ledger/ \\ \ dynamic port range 8000 10000 \\ \ rpc port 8899 \\ \ log /xand validator log \\ \ no poh speed test \\ \ limit ledger size 10000000 note every trailing \ is important! any commented lines # must be at the bottom of the script this is to save a command that may be needed later but not used now note change the location of ledger in the script to your second drive if you aren't using raid0 here are the known validators xand 1 hhuygltes6grue95pkkzak2upuqmxepwbvqv2toqfbzn xand 2 6vy4syv6ntljq4tbcxuggptugorvh2fjkm6tovmfsfr2 xand 4 3dziyo933m7vfttsb7wudjv92cg69qwvys1s753xrc59 xand 5 hohkf7wgm4mzvnsptzfudxzwr6mzr9ndupwwzawe28oz make the script you just made executable cli chmod +x /validator start sh 5\) system tuning run as root user, use sudo i optimize sysctl knobs (copy block and paste into teminal, press return) cli sudo bash c "cat >/etc/sysctl d/21 xandeum validator conf <\<eof \# increase udp buffer sizes net core rmem default = 134217728 net core rmem max = 134217728 net core wmem default = 134217728 net core wmem max = 134217728 \# increase memory mapped files limit vm max map count = 1000000 \# increase number of allowed open file descriptors fs nr open = 1000000 eof" cli sudo sysctl p /etc/sysctl d/21 xandeum validator conf open the file /etc/systemd/system conf in your editor nano sudo nano /etc/systemd/system conf vim sudo vim /etc/systemd/system conf add the following to the \[manager] section save and exit cli defaultlimitnofile=1000000 reload the daemon cli sudo systemctl daemon reload increase process file desriptor count limit (copy block and paste into teminal, press return) cli sudo bash c "cat >/etc/security/limits d/90 xandeum nofiles conf <\<eof \# increase process file descriptor count limit nofile 1000000 eof" this section is complete exit all shells or reboot to activate changes! continue on to setup system service docid\ brnsjhh6dye4clhfvwn2y