Installation
Chain ID
Version
Custom Port
# install dependencies, if needed
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y# install go, if needed
cd $HOME
VER="1.21.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
# set vars
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="test"" >> $HOME/.bash_profile
echo "export TITAN_CHAIN_ID="titan-test-4"" >> $HOME/.bash_profile
echo "export TITAN_PORT="35"" >> $HOME/.bash_profile
source $HOME/.bash_profile
# download binary
cd $HOME
rm -rf titan-chain
git clone https://github.com/Titannet-dao/titan-chain.git
cd titan-chain
make build
# config and init app
titand config node tcp://localhost:${TITAN_PORT}657
titand config keyring-backend os
titand config chain-id titan-test-4
titand init "test" --chain-id titan-test-4
# download genesis and addrbook
wget -O $HOME/.titan/config/genesis.json https://testnet-files.bonynode.online/titan/genesis.json
wget -O $HOME/.titan/config/addrbook.json https://testnet-files.bonynode.online/titan/addrbook.json
# set seeds and peers
SEEDS=
PEERS="01cc7c20302234f45e8370500d16324ba82fca84@titan-testnet-peer.monkeylabs.me:35656,0d24683b3d83cac3ca343646a58ed8bddae267fb@65.108.129.251:46656,76c622dfb2f3c5bf9a762a2f93961a99aecc8fca@2.58.82.159:11656,7db6a61f62edc467c39bab4ef26782ef9e2983fa@65.108.140.112:26656,01cc7c20302234f45e8370500d16324ba82fca84@88.99.57.73:35656,01186ee9bad7b1b3bc8b6d98a14b3e797384b584@65.109.93.124:29356,b6b66acc53d1648d8e0552347382492a931e826d@100.42.179.146:26656,dda39e4529ded03ed474bffc6c00c521be57db8f@37.27.133.17:29656,2ef5e70ed3929d52098f27518296a0ee93c0fabb@47.243.127.179:26656,956c6abcea4c104d93cf1f01db3323c7c55f0dda@51.91.70.90:56346"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.titan/config/config.toml
# set custom ports in app.toml
sed -i.bak -e "s%:1317%:${TITAN_PORT}317%g;
s%:8080%:${TITAN_PORT}080%g;
s%:9090%:${TITAN_PORT}090%g;
s%:9091%:${TITAN_PORT}091%g;
s%:8545%:${TITAN_PORT}545%g;
s%:8546%:${TITAN_PORT}546%g;
s%:6065%:${TITAN_PORT}065%g" $HOME/.titan/config/app.toml
# set custom ports in config.toml file
sed -i.bak -e "s%:26658%:${TITAN_PORT}658%g;
s%:26657%:${TITAN_PORT}657%g;
s%:6060%:${TITAN_PORT}060%g;
s%:26656%:${TITAN_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${TITAN_PORT}656\"%;
s%:26660%:${TITAN_PORT}660%g" $HOME/.titan/config/config.toml
# config pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.titan/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.titan/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.titan/config/app.toml
# set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.005uttnt"|g' $HOME/.titan/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.titan/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.titan/config/config.toml
# create service file
sudo tee /etc/systemd/system/titand.service > /dev/null <<EOF
[Unit]
Description=Titan node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.titan
ExecStart=$(which titand) start --home $HOME/.titan
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# reset and download snapshot
titand tendermint unsafe-reset-all --home $HOME/.titan
if curl -s --head curl https://testnet-files.bonynode.online/titan/snap_titan.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
curl https://testnet-files.bonynode.online/titan/snap_titan.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.titan
else
echo no have snap
fi
# enable and start service
sudo systemctl daemon-reload
sudo systemctl enable titand
sudo systemctl restart titand && sudo journalctl -u titand -fCreate wallet
Create validator
Monitoring
Security
Set up ssh keys for authentication
Firewall security
Delete node
Last updated