# Node Installation

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

* **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 fail2ban -y

# Install Go
cd $HOME
VER="1.20.5"
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 BEEZEE_CHAIN_ID="beezee-1"" >> $HOME/.bash_profile
echo "export BEEZEE_PORT="113"" >> $HOME/.bash_profile
source $HOME/.bash_profile


# Download Binary
cd $HOME
rm -rf $HOME/bze
git clone https://github.com/bze-alphateam/bze
cd bze
git checkout v7.1.1
make install


# Config and Init App
bzed config node tcp://localhost:${BEEZEE_PORT}57
bzed config chain-id $BEEZEE_CHAIN_ID
bzed init $MONIKER --chain-id $BEEZEE_CHAIN_ID


# Add Genesis File and Addrbook
wget -O $HOME/.bze/config/genesis.json https://snapshot.syanodes.my.id/mainnets/beezee/genesis.json
wget -O $HOME/.bze/config/addrbook.json https://snapshot.syanodes.my.id/mainnets/beezee/addrbook.json


#Configure Seeds and Peers
SEEDS=""
PEERS="e3945aa782f28d2fdad92855c0a3c17eefb726ae@65.108.126.46:26656,246036506f4dc3905622a7c2d34553c321f21b7a@65.109.28.177:29576,542eb02117bffda60af61f2c1efd02c3c18acf95@65.109.92.241:21076,784f0e1b256ab1a0cc12bfbbd0fe8d86892ede9e@65.21.45.173:16356,a7539f7dc7a4d470ff8687acb599d75a323e34b7@65.108.76.33:21116,4308278c28a318d669fc53bd005aca400bca2a33@95.214.55.100:26456,e110f485635b947fa7c73853c8989aa5aa556213@75.119.156.205:26656,026415a6a3ca60f2777e3da8e546210fb58e16cd@172.190.17.88:26656,501528a7f445f3c741cd991fee6754ff2c594ffe@37.187.149.93:26667"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.bze/config/config.toml
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.00025ubze\"/" $HOME/.bze/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.bze/config/config.toml
sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.bze/config/config.toml


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


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


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

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

[Install]
WantedBy=multi-user.target
EOF


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

## Auto Installation

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