Validator Home
Validator Installation
47min
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 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 sol change to root user then back to sol root user has all the privledges and won't require sudo but some items need to be ran as the sol 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 sol 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 sol change to the new user account cli su sol switch the xand home directory note if you log in as root and switch to sol 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 v2 2 0 xandeum c9b4b31d but check for newer releases you can right click on the file name to copy the download link https //github com/xandeum/binaries/releases set the version and filename variables ver="v2 2 0 xandeum b5f66263" file="v2 2 0 xandeum b5f66263 tar gz" echo e "\n" echo version=$ver; echo filename=$file echo e "\n" cli cd wget https //github com/xandeum/binaries/releases/download/$ver/$file create the needed bin folder cli mkdir / local/share/xandeum/install/releases/$ver p extract the file into the new bin dir add a directory for connection info cli sudo mkdir p /var/run/xandeum && chown sol\ sol /var/run/xandeum && chmod 755 /var/run/xandeum test a binary by running it in the local folder cli cd / local/share/xandeum/install/releases/$ver/bin cli /agave validator v remove downloaded file if binaries are working cli rm /$file 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) cli rm /home/sol/ local/share/xandeum/install/releases/active release ln sf /home/sol/ local/share/xandeum/install/releases/$ver/bin /home/sol/ 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 text export path="/home/sol/ local/share/xandeum/install/releases/active release $path" alias l="ls a color=auto" alias ll="ls alh color=auto" alias sv="solana validators sort skip rate reverse" alias sg="solana gossip" alias se="solana epoch info" alias sb="solana balance" cli source / bashrc check your install of the software a s sol user, time to test if everything worked cli cd agave validator v check xandeum software version results should appear simlar to the following (check for correct version and src) 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 sol user! cli cd create your3 keys note down all 3 keyphrases before you continue on cli solana keygen new o /validator keypair json solana keygen new o /vote keypair json solana keygen new o /withdraw keypair json to view your public key later cli solana keygen pubkey /validator keypair json view your current configuration information cli solana config get switch to xandeum cluster cli solana config set url https //api devnet xandeum com 8899 set your new keypair to be used by default cli solana config set keypair /validator keypair json testing our work so far check your connecrtion to the cluster solana gossip request an airdrop from the xand faucet cli solana airdrop 1 /validator keypair json do this again 4 more times (we are also giving you fake sol tokens to get started ) there is a daily limit per wallet these tokens on testnet/devnet are not real check your wallet balance cli solana 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 solana create vote account commission 0 /vote keypair json /validator keypair json /withdraw keypair json to find your vote account pubkey later, use cli solana 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 agave validator \\ \ known validator g6x4w89tja9odbsrncpeanathqbujbev5djrbzgrqhyv \\ \ known validator 5pw1ssxftqqklf9fu88898bmg1vv3tqyrrvkgkfrwobs \\ \ known validator 96wn2rrhfxxnmnjcn64qzcpbpckhvtukfwoertgrcddy \\ \ known validator dieytnni4upwxaj9ax4pvfwvyfy5fkleo3rrgn6q22lc \\ \ known validator 9hkxdh8veb278efwgpjsrkqtyjeghygp8vkbcsmp4hgr \\ \ entrypoint xand 5 devnet xandeum com 8000 \\ \ entrypoint xand 4 devnet xandeum com 8000 \\ \ entrypoint xand 3 devnet xandeum com 8000 \\ \ entrypoint xand 2 devnet xandeum com 8000 \\ \ entrypoint xand 1 devnet xandeum com 8000 \\ \ expected shred version 48698 \\ \ expected genesis hash 7bntf1z8kdub3ycsnivs5xh1cxfyg3hqp2vehmvqp7aw \\ \ snapshot interval slots 500 \\ \ full snapshot interval slots 10000 \\ \ identity /validator keypair json \\ \ vote account /vote keypair json \\ \ ledger /ledger/ \\ \ dynamic port range 8000 10000 \\ \ rpc port 8899 \\ \ log /validator log \\ \ no poh speed test \\ \ limit ledger size 30000000 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 9hkxdh8veb278efwgpjsrkqtyjeghygp8vkbcsmp4hgr xand 2 dieytnni4upwxaj9ax4pvfwvyfy5fkleo3rrgn6q22lc xan d 3 96wn2rrhfxxnmnjcn64qzcpbpckhvtukfwoertgrcddy xand 4 5pw1ssxftqqklf9fu88898bmg1vv3tqyrrvkgkfrwobs xand 5 g6x4w89tja9odbsrncpeanathqbujbev5djrbzgrqhyv make the script you just made executable cli chmod a+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 agave 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 = 2000000 \# increase number of allowed open file descriptors fs nr open = 2000000 eof" cli sudo sysctl p /etc/sysctl d/21 agave 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=2000000 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 agave nofiles conf <\<eof \# increase process file descriptor count limit nofile 2000000 eof" this section is complete exit all shells or reboot to activate changes! continue on to setup system service docid\ prpru nt8eeijyjb16mna