# Node Installation

### Hardware requirements The following requirements are recommended for running SHENTU:

* **6 or more physical CPU cores**
* **At least 1TB of SSD disk storage**
* **At least 16GB of memory (RAM)**
* **At least 500mbps network bandwidth**

## Manual Installation

```bash
# Update & install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq htop tmux chrony liblz4-tool -y

# Install Go
cd $HOME
VER="1.22.2"
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
go version


# Set Vars
MONIKER=<YOUR_MONIKER_NAME_GOES_HERE>
echo "export MONIKER=$MONIKER" >> $HOME/.bash_profile
echo "export SHENTU_CHAIN_ID="shentu-2.2"" >> $HOME/.bash_profile
echo "export SHENTU_PORT="103"" >> $HOME/.bash_profile
source $HOME/.bash_profile


# Download Binary
cd $HOME
rm -rf shentu
git clone https://github.com/shentufoundation/shentu
cd shentu
git checkout v2.14.1
make install


# Config and Init App
shentud config node tcp://localhost:${SHENTU_PORT}57
shentud config chain-id $SHENTU_CHAIN_ID
shentud init $MONIKER --chain-id $SHENTU_CHAIN_ID


# Add Genesis File and Addrbook
wget -O $HOME/.shentud/config/genesis.json https://testnet-files.syanodes.my.id/shentu-m-genesis.json
wget -O $HOME/.shentud/config/addrbook.json https://testnet-files.syanodes.my.id/shentu-m-addrbook.json


#Configure Seeds and Peers
SEEDS=""
PEERS="1480912d16f26b5ea1c4fea2496da95e44cbe845@65.109.115.226:14056,6b01cefc02a93829c864808dddb0c19a2dae7981@150.136.100.41:26656,100aee4f6928d09e3dddfd0c5028cf127509bbd9@162.55.132.48:15607,147eeac0de54a973ade15e46ca427b70d0d535b2@135.181.128.114:14056,9c0b20c318d0ee8f84475ad47afed59b24ba2ea4@95.217.193.17:26656,ecbb18ee93e2aa521706479772ee85cedb2b55cb@49.12.170.121:30022,7f70fb892b68a0a578282683512528aa860b428d@69.197.14.8:26656,065f66f818c1dfd41cf6aa434c21056339b5528d@136.243.39.175:36656,70afecb1dd5c79a378a47ce8bd5197c97997280c@23.88.72.34:14031,a8cd59ec2777e95d5b25278fd46f5069b2f8c25a@5.9.97.174:15607,e75aab6f20e0ac794e9aae1c18c89e428d381bda@195.201.167.242:26656,e3acfacbd8f08c8e61925a3363187b2737022407@47.253.53.245:26656,8888cb6071b560e2a5393394ea8d6babaaa33184@178.238.228.120:26656,2ab1b30a04a1dce6ff50cab40fc0ef690eb048ea@51.210.99.161:26956,b6d870a3925baf56a70ea4d0a6a86f71d021257c@31.220.77.51:26656,867a2986f28575b1fde864136862fde465cac17c@47.253.209.134:26656,986db6bec66e0685d044479ec7567dd6f6cd60cb@45.92.9.174:26656,35cfb70f821827044a1e86c0bc7125f3043fb5bf@5.9.145.125:15604,599c6ba28683b66519f011286b34811a47b6d60a@164.152.161.131:26656,e616367f0198bd5cff20edf1ae63d6aa8dac7ede@98.70.42.191:26656,94e911d79176c2ac90ce545b212429460dd34d5e@35.74.10.164:6656,cdbe37fc5ea42278285dceb90a4fc35e88d1bde9@47.75.91.185:28656,dd4c01118677ab6b683ed3bf6d5b192187a95c40@65.108.230.113:20016,baa8cfcad0eff850ef4e0f159bb9b4af620ae019@202.55.85.83:26656,9755cab2585a2794453a5b396ef13b893393366f@65.108.212.224:46656,648c22816fdd2dc41fca47bde27f74b68b2886de@188.40.89.163:27656,4ba9e5d38b3bd2fbef58c05758c94f0fc8595317@195.3.221.70:15607,ed4db976ce074bfda0f436790f00e5a0716b4cc7@94.250.202.43:14056,37c06d834bf8ba3816c9d74a268c4458e5a69b27@95.217.192.124:29856,0494d17e2cbe835c7e85a073c7c4f0b6dc17d834@31.7.196.49:26656,c55a0d3082a5b833e8e6d8819fd0be431b9cbc74@69.197.43.23:26656,f566d1a6dbed50da77e8799d1700b47590b8c899@95.217.34.147:41656,471518432477e31ea348af246c0b54095d41352c@169.155.171.120:26656,0d80e7cbdffd8a1db1477805ff51a2baf6268f0d@164.90.229.157:26656,bc1d1645903a3ace446e1168c8efb3f634268f0e@153.139.245.108:26656,35113819447f4d86b7cccd4e2c429c5c37aa89e4@51.81.49.59:14056,3c1740cb7d646a31bc3236a7fb3cba1cc87eb08e@5.9.147.138:28656,c7f47b19bad10c2222ad528c73627a14e0108e9d@95.217.116.103:26456,6146648cd0fee9f2e90eedb255c6c315bcee041b@178.63.93.41:26656,f027517455d3f7c105f405365609e4355ca41660@136.243.13.186:3000,89757803f40da51678451735445ad40d5b15e059@169.155.169.81:26656,a074234450b43bb260d93210d6d02d99154c5c7b@139.177.199.173:26656,4e1c2471efb89239fb04a4b75f9f87177fd91d00@169.155.171.114:26656,57715cae6d2cfe621dfc501f156063cb466d4aa8@65.108.126.22:26656,b0690ba7a9cf755fc46486d45b5fd30d0da443de@78.47.143.61:26656,13e5b092aa878dcc54456040e12e57521124bb5c@85.10.203.212:26656,dcceb7e119765d6ff54cb16fef8d008ba9099d56@52.202.184.217:26656,94022bb1d17695c361f50253dfb927a414653b3a@79.18.149.68:26656,05d4bf2e7b85fdf10a18d97308e5471d4cd80a6c@142.132.203.173:26656,9023d9a3d60f147514129aabe6f6b60cfa4ee128@194.195.213.37:26656,b212d5740b2e11e54f56b072dc13b6134650cfb5@164.152.160.117:26656,259259325c4d060fa92209d5e2d456aefa2ef941@69.197.19.19:26656,e1754812621b14c4a993dd354a85421538284da4@89.58.59.44:26656,43b923d403b569575fbee4eef1c0fb0c5d39be2f@165.232.72.33:26656,75f067aa1d40ddadb1d32606fdbff16683e4b9d3@37.27.58.244:26656,fe3b71b0628a9af8625ffd05abeb3bafe9d2226f@168.119.240.200:46656,cde6a6e04537a5e61ebf4201e703e0288b89e2ff@49.12.86.120:26716,938e6f08513926070bba7e6402cbe61ca49b28b9@176.31.207.237:26656,557b26424ad88787a97782bbd877d9c2b8f18eb5@47.242.124.43:26656,a9f5bc2294cd41b3677337305309ae9687dfa8d5@8.208.44.201:26656,9abf31887c1be97cafac77c58644acbbffce0639@87.98.179.97:26656,c69d7772b7e87ce3df72fbb37a9eaab4c5375bcf@71.236.119.108:19656,8f91d396e3395210ef3a8394d48d1888af6d01cd@142.132.202.86:56656,b53388d8791e99935e4f2c85d8b4eb4731c03c77@37.252.186.107:3000,9b4779c49c80444627e37762c3e82971710336a6@34.195.53.91:26656,6d536d8c75f09f33ad628d0fc12a536655aadbfe@65.109.35.60:26656,776ed2479dcb3e66f7b7ba71a05960e63975b0ec@8.208.114.10:26656,93ca38856c1c18e5902a71acc21084f9b2d7978e@54.248.13.68:26656,1fa010a89dedf7dbb91c8239a4fe00c14ffe8715@161.97.133.184:26656,2ebb532c683bec7deb38132f79ff71994745500e@47.253.199.201:26656,1bb63182746372ca3d1f5656f74d83f1ee2f83a8@46.101.197.245:31457,9bb87ff793b464cc1c1d28f07442fb1c1cf82b0b@142.132.146.164:15607,f092c40e4e2a7ab48cfcba38ffa61b6ee04b0b83@150.136.10.254:26656,7114295ffa36c2c1eb09265f5a1849709227dce8@185.147.80.82:26656,f3500190fbd2dadbe1df11a5bcba9034bc271586@57.128.21.247:26656,486df17d82506d6445879060f7d2a5d8ffc5d819@138.201.53.99:26656,5b73f98db91d006f7da1db22244bc316f6b3742e@95.111.244.78:26706,e3f35c5abe22423f654c5e1b33318fbee7503cb3@149.202.64.145:27656,782d1fa966a29cf2cda2c58f15ed5c8e29081750@54.150.71.183:26656,cfcb7288f9ca5ef86ad24b9e755ed1e5555cef60@54.247.115.161:26656,0d3d0a4464a7e4c0eeee427dc0ddbed6deadc156@47.253.99.164:26656,7761c39ad4db60ec9da0ffbe54e91276ba0c1814@65.21.180.80:26656,06360daff2b780ef30efd97650cc5592e0c6fca1@172.110.97.188:12456,d4cbdef21bde1fde444cd31f5a2842c76268f210@94.250.203.213:26656,3046c57c29c290717ed8d079a9e15703bd0d1559@62.171.183.34:26656,3ca62ad1846b426835f28fd81ccd748007fb51c2@49.13.15.59:26656,504d57dce32894491b0c16a2ec4f598d9f0fcf26@198.244.228.17:12456,74ceb11da633e2526388ab363c0f7ed9ba699459@35.75.32.253:6656,fe1570344c2687080c39c6b8141f2654420ced46@69.197.43.19:26656,24f51fdfdc1a02d44e4597930de84b35ff556de1@85.190.254.32:26756,4ba3f83efc53c834ba27eb22452840ee74aecf45@85.215.105.19:15604,e726816f42831689eab9378d5d577f1d06d25716@169.155.47.6:26656,be3d05b4042d3b2404926fec1d37fe42ef455f63@135.181.163.185:26656,6abc14fdb30ea57be013a9021ffb75378fe4d11c@178.18.250.33:14056,fde82d689793ab4fa79dfaec754c016dc837f8ea@69.197.26.21:26656,0501d3c446ddae9a2412a3da6fc699bc99404a8f@144.217.252.56:26656,580f36f526bf72413c0e06111ad69fed1ca28cf1@142.132.253.13:24656,6f9bbce23f674829d8a5c306f5c75c21b7fead9b@78.47.87.115:26656,caed060e714a2715c626cf2f4d1f6cba8fb24a71@65.108.73.245:28656,a3ecf3b7e5d3aca7d853af38ad9d9f3e2d6f4ac7@47.241.32.139:26656,4dff83b8e2170e6fd9d027e2a092d52875c6c589@69.197.23.4:26656,f97807210f9547b8a5016fb18000b46072ca5e30@135.181.113.227:2407,e0a3d96af35f9e53941ae2ed1cf369844fe08f46@95.165.89.222:25656,2ee447610cf2142052b9acab2d003c8c614a91db@57.129.17.74:15200,02881614efedebdb2c25497e53725c92b8f03c08@69.197.5.39:26656,70256dea192d65b1476a007a06bf8bedf068edc6@38.242.128.248:26656,a02464208eb2aa8b78286e2191a278bacd05bc0f@113.176.163.161:26656,9e2f3706ccd8a3b0993a11f1a32a15f4b4513751@167.235.100.136:26656,69baae39041ca1fca854de2ea9fd3367859d95b4@185.208.206.52:14056,a6d64ac8796f4b2db4e2f3e7dcca3c12a73d0978@198.244.167.22:26656,18a9e4366f40ff32077478d6b99c84d0cce15825@158.247.201.157:15200,060027d3bc10ff7ebc1ec315ae5671c541e1568c@66.45.246.166:20016,e07642bc1129a6d9f0e19c8e883476fb564d6674@5.189.128.119:46656,2805d33ce596bd810791d5a38f86ccd9cdc053e4@141.95.66.131:14056,ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@135.181.5.219:14056"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.shentud/config/config.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uctk\"/" $HOME/.shentud/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.shentud/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.shentud/config/config.toml


# Config Pruning
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="19"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.shentud/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.shentud/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.shentud/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.shentud/config/app.toml


# Set Custom Port
sed -i -e "s%:1317%:${SHENTU_PORT}17%; s%:8080%:${SHENTU_PORT}80%; s%:9090%:${SHENTU_PORT}90%; s%:9091%:${SHENTU_PORT}91%; s%:8545%:${SHENTU_PORT}45%; s%:8546%:${SHENTU_PORT}46%; s%:6065%:${SHENTU_PORT}65%" $HOME/.shentud/config/app.toml
sed -i -e "s%:26658%:${SHENTU_PORT}58%; s%:26657%:${SHENTU_PORT}57%; s%:6060%:${SHENTU_PORT}60%; s%:26656%:${SHENTU_PORT}56%; s%:26660%:${SHENTU_PORT}61%" $HOME/.shentud/config/config.toml


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

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

[Install]
WantedBy=multi-user.target
EOF


# Enable and Start Service
sudo systemctl daemon-reload
sudo systemctl enable shentud
sudo systemctl start shentud && sudo journalctl -fu shentud -o cat
```

## Auto Installation

```bash
wget https://snapshot.syanodes.my.id/auto/mainnet/shentu_auto && chmod +x shentu_auto && ./shentu_auto
```
