Shentu logo

Shentu

mainnet
Chain ID
shentu-2.2
Node
v2.18.0

πŸ“š Node installation

Update packages

sudo apt update && sudo apt upgrade -y

Install dependencies

sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc lz4 gcc -y

Install Go

cd $HOME && \
ver="1.21.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

The output should be: go version go1.21.4 linux/amd64

Download binary for work

git clone https://github.com/shentufoundation/shentu
cd shentud
git checkout v2.18.0
make install

Specify variables, for ease of work

echo 'export shentu_moniker="Validator_name"' >> $HOME/.profile
echo 'export shentu_wallet="Wallet_name"' >> $HOME/.profile
echo 'export shentu_port="111"' >> $HOME/.profile
source $HOME/.profile

Initialize the node

shentud init $shentu_moniker --chain-id shentu-2.2

Set the settings

shentud config chain-id shentu-2.2 && \
peers=9bb87ff793b464cc1c1d28f07442fb1c1cf82b0b@142.132.146.164:15607,486df17d82506d6445879060f7d2a5d8ffc5d819@138.201.53.99:26656,0501d3c446ddae9a2412a3da6fc699bc99404a8f@144.217.252.56:26656,cde6a6e04537a5e61ebf4201e703e0288b89e2ff@49.12.86.120:26716,f3a96e3b31261cee34b32a7244d374e458a2d213@94.130.115.190:26656,ecbb18ee93e2aa521706479772ee85cedb2b55cb@49.12.170.121:30022,f027517455d3f7c105f405365609e4355ca41660@136.243.13.186:3000,37d26ed4d655c3bd0d29987e501b969d8d3fac61@195.201.172.9:15607,a8cd59ec2777e95d5b25278fd46f5069b2f8c25a@5.9.97.174:15607,e3f35c5abe22423f654c5e1b33318fbee7503cb3@149.202.64.145:27656 && \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.shentud/config/config.toml && \
seeds="6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10217" && \
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.shentud/config/config.toml

Create wallet

shentud keys add $shentu_wallet

Save the wallet. Or restore if there is a mnemonic:

shentud keys add $shentu_wallet --recover

Download Genesis

wget -O genesis.json "https://snapshots.stakeup.tech/shentu/genesis.json" --inet4-only
mv genesis.json ~/.shentud/config

Optional Settings

Memory optimization
cd $HOME/.shentud/config && \
indexer="null" && \
snapshot_interval="0" && \
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_interval="50" && \
sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" config.toml && \
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" app.toml && \
sed -i.bak -e "s/^pruning *=.*/pruning = \"$pruning\"/" app.toml && \
sed -i.bak -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" app.toml && \
sed -i.bak -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" app.toml
Change port
cd $HOME/.shentud/config && \
sed -i.bak \
    -e "s/:\s*26656/:${shentu_port}56/g" \
    -e "s/:\s*26657/:${shentu_port}57/g" \
    -e "s/:\s*26658/:${shentu_port}58/g" \
    -e "s/:\s*26660/:${shentu_port}59/g" \
    -e "s/:\s*6060/:${shentu_port}61/g" \
    config.toml

sed -i.bak \
    -e "s/:\s*1317/:${shentu_port}17/g" \
    -e "s/:\s*8080/:${shentu_port}80/g" \
    -e "s/:\s*9090/:${shentu_port}90/g" \
    -e "s/:\s*9091/:${shentu_port}91/g" \
    app.toml && \
echo 'export shentu_node=http://localhost:${shentu_port}57' >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
shentud config node $shentu_node

Create a service file

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

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

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload &&
sudo systemctl enable shentud &&
sudo systemctl restart shentud && sudo journalctl -u shentud -f -o cat