# Installation guide

## Installation

​Hardware requirements

* Memory: 16 GB RAM
* CPU: 8 cores
* Disk: 250GB SSD
* Bandwidth: 1 GbpsLinux&#x20;
* OS: (Ubuntu LTS release)​

**Install required packages**

```
sudo apt update && \
sudo apt install curl git jq build-essential gcc unzip wget lz4 -y
```

#### Install Go

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

#### Install `Jackal` binary

```
cd $HOME && mkdir $HOME/go/bin/
git clone https://github.com/AltheaFoundation/althea-L1/
git checkout v1.4.0
make install
```

#### Initialize the node <a href="#initialize-the-node" id="initialize-the-node"></a>

```
# Set node configuration
althea config chain-id althea_258432-1
althea config keyring-backend file
althea init $yourMONIKER --chain-id althea_258432-1
```

#### Download Genesis <a href="#download-genesis" id="download-genesis"></a>

```
wget -O $HOME/.althea/config/genesis.json "https://raw.githubusercontent.com/AltheaFoundation/althea-L1-docs/main/althea-l1-mainnet-genesis.json"
```

#### Set min. gas price <a href="#download-genesis" id="download-genesis"></a>

```
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.004aalthea\"|" $HOME/.althea/config/app.toml
```

**Pruning / Indexer  (optional)**

```
pruning="custom"
pruning_keep_recent="1000"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.althea/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.althea/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.althea/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.althea/config/app.toml

indexer="null" &&
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.althea/config/config.toml
```

#### Create a service <a href="#install-cosmovisor-and-create-a-service" id="install-cosmovisor-and-create-a-service"></a>

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

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

[Install]
WantedBy=multi-user.target
EOF
```

#### Start the node

```
sudo systemctl daemon-reload && \
sudo systemctl enable althea && \
sudo systemctl restart althea && \
sudo journalctl -fu althea -o cat
```

#### Create a wallet for your validator

```
althea keys add yourwallet
althea keys add yourwallet --recover #in order to restore

#Check wallet balance
althea status | jq -r .sync_info
```

**Create validator**

<pre><code><strong>althea tx s<a data-footnote-ref href="#user-content-fn-1">t</a>aking create-validator \
</strong>  --amount 1000000aalthea \
  --from &#x3C;yourwallet> \
  --commission-max-change-rate "0.1" \
  --commission-max-rate "0.2" \
  --commission-rate "0.1" \
  --min-self-delegation "1" \
  --pubkey  $(althea tendermint show-validator) \
  --moniker $yourMONIKER \
  --chain-id althea_258432-1 \
  --identity="" \
  --details="" \
  --website="" -y
</code></pre>

[^1]:
