Installation

Hardware
Minimum Spesification

CPU

8 Cores

RAM

32 GB

Disk

500 GB NVMe

Installation

Install Go

wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
source ~/.profile
go version

Install Binary

git clone https://github.com/TacBuild/tacchain.git
cd tacchain
git checkout v0.0.12
make install
sudo cp ~/go/bin/tacchaind /usr/local/bin/

Initialize Node

tacchaind init <your-moniker> --chain-id tacchain_2391-1 --home .tacchaind

Download Genesis

FILEID=13WyG-1Uqn-_P7n0KQYkp4yDF5kEVzT9l
FILENAME=$HOME/.tacchaind/config/genesis.json
CONFIRM=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
"https://docs.google.com/uc?export=download&id=$FILEID" -O- | \
sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p')
wget --load-cookies /tmp/cookies.txt \
"https://docs.google.com/uc?export=download&confirm=${CONFIRM}&id=${FILEID}" \
-O ${FILENAME}
rm -f /tmp/cookies.txt

Download Addrbook

FILEID=1Gu3LVqqMDkwzjCcQf2lHnP6qNt2xymXd
FILENAME=$HOME/.tacchaind/config/addrbook.json
CONFIRM=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate \
"https://docs.google.com/uc?export=download&id=$FILEID" -O- | \
sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p')
wget --load-cookies /tmp/cookies.txt \
"https://docs.google.com/uc?export=download&confirm=${CONFIRM}&id=${FILEID}" \
-O ${FILENAME}
rm -f /tmp/cookies.txt

Configure persistent peer and seed

PEERS=$(curl -sS https://testnet-rpc-tacchain.provewithryd.xyz/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}' | sed -z 's|\n|,|g;s|,$||')
sed -i -e 's|^seeds *=.*|seeds = "ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@testnet-seeds.polkachu.com:32156"|' $HOME/.tacchaind/config/config.toml
sed -i -e "s|^persistent_peers *=.*|persistent_peers = '$PEERS'|" $HOME/.tacchaind/config/config.toml

Customize Pruning

sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.tacchaind/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.tacchaind/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"10\"/" $HOME/.tacchaind/config/app.toml

Set Minimum Gas Price, and Disable the Indexer

sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.0001utac"|g' $HOME/.tacchaind/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.tacchaind/config/config.toml

Create Service File

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

[Service]
User=$USER
ExecStart=$(which tacchaind) start --chain-id tacchain_2391-1
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Enable the Service and Start the Node

sudo systemctl daemon-reload
sudo systemctl enable tacchaind.service
sudo systemctl restart tacchaind.service && sudo journalctl -u tacchaind.service -f --no-hostname -o cat

Last updated