RPC, API, gRPC


Official Documentation Recommended Hardware:

Installation 🛠️

# update system tools (if needed)
sudo apt update && sudo apt upgrade -y
# Install Packages
sudo apt update & sudo apt upgrade -y

sudo apt install ca-certificates zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev curl git wget make jq build-essential pkg-config lsb-release libssl-dev libreadline-dev libffi-dev gcc screen unzip lz4 -y

# Install Go
sudo rm -rvf /usr/local/go/
wget https://golang.org/dl/go1.23.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz
rm go1.23.4.linux-amd64.tar.gz

go version

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
# install Go (if needed)
cd $HOME
! [ -x "$(command -v go)" ] && {
VER="1.19.3"
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
}
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin

Install Cosmovisor #We will use Cosmovisor v1.0.0 as example here.

go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0

Install Node

git clone https://github.com/allora-network/allora-chain allora
cd allora
git checkout v0.12.0
make install

Configure Node #Initialize Node #Please replace YOUR_MONIKER with your own moniker.

allorad init YOUR_MONIKER --chain-id allora-testnet-1

Download Genesis

wget -O genesis.json https://snapshots.polkachu.com/testnet-genesis/allora/genesis.json --inet4-only
mv genesis.json ~/.allorad/config

Configure Seed #Using a seed node to bootstrap is the best practice in our view. Alternatively, you can use addrbook or persistent_peers.

sed -i 's/seeds = ""/seeds = "ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@testnet-seeds.polkachu.com:26756"/' ~/.allorad/config/config.toml

Launch Node #Configure Cosmovisor Folder #Create Cosmovisor folders and load the node binary.

# Create Cosmovisor Folders
mkdir -p ~/.allorad/cosmovisor/genesis/bin
mkdir -p ~/.allorad/cosmovisor/upgrades

# Load Node Binary into Cosmovisor Folder
cp ~/go/bin/allorad ~/.allorad/cosmovisor/genesis/bin

Create Service File #Create a allora.service file in the /etc/systemd/system folder with the following code snippet. Make sure to replace USER with your Linux user name. You need sudo privilege to do this step.

[Unit]
Description="allora node"
After=network-online.target

[Service]
User=USER
ExecStart=/home/USER/go/bin/cosmovisor start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=allorad"
Environment="DAEMON_HOME=/home/USER/.allorad"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"

[Install]
WantedBy=multi-user.target