Installation guide

Installation

​Hardware requirements

  • Memory: 32 GB RAM

  • CPU: 12 cores

  • Disk: 450GB SSD

  • Bandwidth: 1 GbpsLinux

  • OS: (Ubuntu LTS release)​

Install required packages

sudo apt update && \
sudo apt install curl git jq build-essential gcc unzip wget lz4 -y

Install Go

cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

Install Jackal binary

cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/JackalLabs/canine-chain && cd canine-chain
git checkout v3.2.2
make install

Initialize the node

# Set node configuration
canined config chain-id jackal-1
canined config keyring-backend file
canined init $yourMONIKER --chain-id jackal-1

Download Genesis

curl -Ls https://snapshots.kjnodes.com/jackal/genesis.json > $HOME/.canine/config/genesis.json

Set min. gas price

sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.004ujkl\"|" $HOME/.canine/config/app.toml

Pruning / Indexer (optional)

pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.canine/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.canine/config/app.toml

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.canine/config/config.toml

Create a service

sudo tee /etc/systemd/system/canined.service > /dev/null <<EOF
[Unit]
Description=canined
After=network-online.target

[Service]
User=$USER
ExecStart=$(which canined) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Start the node

sudo systemctl daemon-reload && \
sudo systemctl enable canined && \
sudo systemctl restart canined && \
sudo journalctl -fu canined -o cat

Create a wallet for your validator

canined keys add yourwallet
canined keys add yourwallet --recover #in order to restore

#Check wallet balance
canined status | jq -r .sync_info

Create validator

Last updated