Skip to main content

Installation

Minimum hardware requirement

4 Cores, 8G Ram, 160G NVME, Ubuntu 22.04

Server preparation

sudo apt update && sudo apt upgrade -y
sudo apt install make curl git wget -y
sudo apt install htop tmux build-essential jq make lz4 gcc unzip -y

Install GO

if ! which go ; then
#Install GO
ver="1.22.4"
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
fi

Download and build binaries

mkdir -p $HOME/go/bin
git clone https://github.com/daodiseomoney/Achilles.git
cd Achilles/achilles
make install
cd

Node configuration

Initialize the node

achillesd config chain-id ithaca-1
achillesd config keyring-backend file
achillesd init NodeName --chain-id=ithaca-1

Download genesis and addrbook

curl -Ls  https://files.nodesync.top/odiseo/genesis.json > $HOME/.achilles/config/genesis.json 
curl -Ls https://files.nodesync.top/odiseo/addrbook.json > $HOME/.achilles/config/addrbook.json

Add peers, Set minimum gas price, Set pruning

sed -i -e 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.25uodis"|' $HOME/.achilles/config/app.toml
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.achilles/config/app.toml 
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.achilles/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.achilles/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.achilles/config/config.toml

Create Service File

sudo tee /etc/systemd/system/achillesd.service > /dev/null <<EOF
[Unit]
Description=achillesd Daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which achillesd) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable achillesd

Start node and check logs

sudo systemctl start achillesd
sudo journalctl -u achillesd -f --no-hostname -o cat