# Node Installation

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

* **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 REGEN_CHAIN_ID="regen-1"" >> $HOME/.bash_profile
echo "export REGEN_PORT="101"" >> $HOME/.bash_profile
source $HOME/.bash_profile


# Download Binary
cd $HOME
rm -rf regen
git clone https://github.com/regen-network/regen-ledger.git regen
cd regen
git checkout v5.1.0
make install

# Config and Init App
regen config node tcp://localhost:${REGEN_PORT}57
regen config chain-id $REGEN_CHAIN_ID
regen init $MONIKER --chain-id $REGEN_CHAIN_ID


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


#Configure Seeds and Peers
SEEDS=""
PEERS="4e1c2471efb89239fb04a4b75f9f87177fd91d00@169.155.170.84:26656,89757803f40da51678451735445ad40d5b15e059@134.65.193.163:26656,30aa646949a1b4f98f37a7b81ab5b39a85b8b09a@47.147.226.147:30656,1a0c1acdde56fb32fc6e274798874b077baa92eb@65.108.226.120:26656,d7d0b7eef1cdcd061a9ab545925c5c289d20c993@65.108.201.240:22756,2a28151a15b6b5a5b180cc083057fddf4ec732fd@37.27.6.76:26656,8702c89e88f7cbcf4f18083f209715aaf0805fab@84.201.133.78:26656,f8389283fbcea223554e9f58866639019d7c8cfb@5.161.113.35:26656,af25ae9bf62590bd4f89ce7f9b74ad9e1615a5e3@94.237.99.14:26656,41caa4106f68977e3a5123e56f57934a2d34a1c1@95.214.53.233:27216,4f5f4a72cb7b7e1c1f5ee42b6a14648bcff829d8@185.252.220.89:25003,a7db33f408f03e10a0ecb994deebcc05bff39686@142.132.146.165:15632,ba09b10eaa1ac987352954259fa3c4ccceb919b8@108.181.106.114:30656,e1b058e5cfa2b836ddaa496b10911da62dcf182e@169.155.169.74:26656,cac97e0ac29d29da8674faa046d07157b5e2d9eb@95.216.71.51:26656,fbc73479fb081658e7da8badb22570bc9c9c73eb@146.190.228.186:26656,19b618e75d026f4cfaa0da60bebe6e673e535dd9@185.52.54.94:26656,e571c08e2f9d903388e8bb18f30ac4352d70acad@95.214.52.201:26656,6a2b3c75af41d59ec282957760b25846371c3c38@128.199.35.126:26656,42ce45721a72be2333d6963627c26936c0ca877f@158.247.240.241:14900,fc69b1d3d0335aefa157293cc28e1deb8cc29e32@65.109.111.218:22756,68d111c72d9f78a21d99eee328cd825ec44c31ee@78.110.161.68:26656,b51a9fb6f35d7d0e5e51894899218b14baf3004f@64.225.63.61:26656,e726816f42831689eab9378d5d577f1d06d25716@164.152.162.75:26656,d0272a71166cc81a91aafbce55fc3d592e1da18a@54.39.131.67:26656,b2ec575d7fa8bb2a65b1eb33319c3dd92001a112@15.235.50.175:26664,69cf30379f809eabd8df1b57eda656759685eec0@89.149.218.70:26656,97e4468ac589eac505a800411c635b14511a61bb@169.155.46.147:26656,b5937b58338cfbf90f41c4c7c6be4774b05e3e9d@219.100.163.37:26656,b091c835753be917e052661beabcbb14dedf1ba5@125.253.92.113:26656,ebc272824924ea1a27ea3183dd0b9ba713494f83@195.3.220.57:27216,f8abd1351247bb7d173f3f3df6e7cc4925e46188@65.109.35.83:26656,b212d5740b2e11e54f56b072dc13b6134650cfb5@164.152.160.220:26656,730fac9ab405dd72ff771521c50437672db9244d@169.150.255.54:32656,7eba961e3868fad7b60ce757784069a03c069d94@155.133.22.163:26656,41aa9dd2d8f497660e17f0f27db45a7c760cee64@80.64.211.93:26656,e80dc5ff22b2ccf6b36144987e31ddd806e7660a@143.244.176.72:26656,514242205d4d6485a7488f399e06a2a02b4cceff@94.130.201.180:26656,5f1ba938514c70167dd6e1c1e6a7c9aec4c2f33f@65.108.232.93:22756,7e33c73d42a779c84afa948eda6e193bff98c321@199.127.63.149:46656,760e362755ecc490ba4809b403ed9faeb48e5c2e@46.166.143.83:26656,40205a0c20ff600322accca540c10b5ed45cb6a3@142.132.193.194:26656,cadaac8666ceb4482ba2595bf70bb38282e95e81@50.21.167.160:26656,3a8f856806f8129216e55cd76d9a7015cefdbc3b@95.217.35.111:30656,0304d73912acbb461f00b48ff25d9413e517bde8@65.108.71.136:22756,cc6127c9bfa2b888589331f00336fdafd76ca8c8@138.201.63.38:26676,44e14fb52c411d7455c23958494d8c49d807caf9@134.209.237.188:26656,e2a1e9e72c60d5a5fe5a7ed1506dcfdba38f54a7@213.136.88.233:22756,f553466b5ab04025c1077b20c634928dd07861ab@34.159.98.252:26656,d53de711e69c57cab00ee8dbb934f0e2316d4047@95.217.109.223:6768,ec52701cee3167e59a7f34c92255fc07475436e8@5.78.104.198:26656,bc55aca52843154da0982ff43ac3bd50944fa507@164.152.161.131:26656,41d17b34088930869a5356df5397d9538dc326f7@75.119.148.117:26656,5e1087fd3b73bc7e523f247fd57951433423bd42@54.39.131.64:26656,3177b2ae2b8ffe941d96a672a7fd157fe227be55@35.228.54.228:26656,aebb8431609cb126a977592446f5de252d8b7fa1@104.236.201.138:26656,26d62a2267500d5f28494821520e677bd70d9c15@93.115.25.106:32656,22ac5e9c5d8961415c7556eb6ed992cdd6092294@65.109.30.53:22756,3bc7d3952cf862b1ecca095746a3f7e149476aa4@146.59.81.92:32656,e87b68ad9de61bed91a95264dc6a3bdcd4b354c2@138.201.63.42:26676,23a1093a05ae88e2f46e3f2d78ffb183e39b3c77@207.180.236.248:20000,c124ce0b508e8b9ed1c5b6957f362225659b5343@169.155.45.151:26656,687ec793e652c44d39a94ea9e0d3880afacc107b@65.108.199.51:23656,90838bc9b93ad4f8d8301fbb26856429e87e9463@93.115.25.15:26674,b6fbff280454ba890f5e5e51ef3af656277ce4e1@142.132.146.164:15632,232db8d5f75b25edc7f5d4d6168e3969220e47ae@65.109.23.55:1126,ec58f5162710e39a8d9c089bf8695a0a560f11f9@162.55.132.48:15632,e17ca73aea571ecfc643477638d352e45aefd77b@135.181.216.151:30656,e91e5ee041763b0ee4c46bb9786233c994fba2b7@45.77.40.177:26656,f5e2783f547fdc8a1a9cb6a94562a611726aa234@161.97.187.180:26656,9960ac66a403212053346e9d5b193ea9800972c2@51.159.103.211:28656,08d22a146b1d462a7dd2d565dfc58794db8c6e4b@173.249.25.158:26656,d0c91dc1c201e0038f8589dcb20982eaf1d14492@2.83.80.233:26956,b28f91c057414716c32b52f26a06654ff7743830@185.189.181.88:22756,22cafd2227a507d16c1d67a0fb5fd82bd7a13d9c@65.108.76.28:23356,471518432477e31ea348af246c0b54095d41352c@169.155.171.5:26656,d574b53dcf1cf803830bf4b31275af460110df08@65.109.125.172:16656,8793024bf7c68e2aec9a904baaaab00c80a467ac@49.12.165.122:26024,88bb2d938dba5158f89b410b107b4e03ab6cbcd9@164.92.246.85:32399,1420316a4002a3a87f751f914054e8d8d68f0ce5@149.50.96.147:12656,734f2165e3449a6878643280a08519897800dfba@71.236.119.108:29656,d153ddc748f85f490ae7f6195137d6c39d53c89b@5.78.86.30:26656,aeefec401e5d568f04aca0630198729c7239b4da@213.135.246.90:28656,6791609444e95982ee2013199a523172d25054df@80.64.211.92:26656,a589211be1d87db4097aebcf32001aa2694950fd@37.27.114.100:26656,dc7121500d58d40c98f06f14d5a9065935a7adf6@135.181.210.171:2126"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.regen/config/config.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uregen\"/" $HOME/.regen/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.regen/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.regen/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/.regen/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.regen/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.regen/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.regen/config/app.toml


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


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

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

[Install]
WantedBy=multi-user.target
EOF


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

## Auto Installation

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