Installation Validator

Install Node Producer

Chain ID: source-1| Latest Binary Version: v3.0.0

Update and install packages for compiling

sudo apt update
sudo apt install curl git jq lz4 build-essential zsh -y

User Management

Running in user (Assume) : salinem We never used this username in our production !

Create User, Please Refer to User and Group Management

Login as User salinem

su - salinem

or

sudo su - salinem

and make sure we are in directory

pwd

/mainnet/salinem

Running in user : salinem

FHS of Source

Create FHS for application

echo "Install FHS"
mkdir -p ${HOME}/tmp
mkdir -p ${HOME}/lib
mkdir -p ${HOME}/bin
mkdir -p ${HOME}/conf
mkdir -p ${HOME}/systemd

Install Golang

# Install Go 1.19.1
wget https://go.dev/dl/go1.19.1.linux-amd64.tar.gz
tar xf go1.19.1.linux-amd64.tar.gz
sudo mv go /usr/local/go

# Set Go path to $PATH variable
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> $HOME/.zshrc
source ~/.zshrc

Install Source

cd ~
# Clone Source Protocol  version v3.0.0
git clone  https://github.com/Source-Protocol-Cosmos/source.git
cd chain
git fetch && git checkout v3.0.0

# Install binaries to $GOPATH/bin
export GOPATH="${HOME}/lib"
make install

cp ${HOME}/lib/bin/* ~/bin/

Environment

In this case, RoomIT used zsh, if you used bash just direct to ${HOME}/.bashrc or ${HOME}/.profile

echo 'export PATH="${PATH}:${HOME}/bin"' >> ${HOME}/.zshrc
source ~/.zshrc

Set Variable

# Chain ID of Source Mainnet
export CHAIN_ID=source-1
# Wallet name to be used as validator's account, please change this into your name (no whitespace).
export WALLET_NAME=<YOUR_WALLET_NAME>
# Name of your validator node, please change this into your name.
export MONIKER=<YOUR_MONIKER>
# URL of genesis file for Source Mainnet
export GENESIS_FILE_URL= https://raw.githubusercontent.com/Source-Protocol-Cosmos/mainnet/master/source-1/genesis.json
# Data sources/oracle scripts files
export BIN_FILES_URL=

Intialize Node

sourced init --chain-id $CHAIN_ID "$MONIKER"

Replace genesis file with our genesis file

wget $GENESIS_FILE_URL -O $HOME/.source/config/genesis.json

Download data sources / oracle scripts files, and store in $HOME/.source/files

wget -qO- $BIN_FILES_URL | tar xvz -C $HOME/.source/

Create new account

sourced keys add $WALLET_NAME

Validate Genesis

sourced validate-genesis

Edit config, You can refer to Edit Configuration Node

Apply State Sync, refer to State Sync

Last updated