# Manual

#### 1. Install Dependencies

{% hint style="info" %}
If you already Installed **this dependecies before,** you can skip this step&#x20;
{% endhint %}

{% code overflow="wrap" %}

```
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 chrony liblz4-tool -y
```

{% endcode %}

2. **Install GO**

{% hint style="info" %}
If you already Installed **GO version 1.19.5 or higher** you can skip this step

check your GO version:&#x20;
{% endhint %}

{% code overflow="wrap" lineNumbers="true" %}

```
rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.20.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version
```

{% endcode %}

3. **Download and Install Binary**

{% code lineNumbers="true" %}

```
cd $HOME
rm -rf dymension
git clone https://github.com/dymensionxyz/dymension.git

cd dymension
git checkout v0.2.0-beta
make build
```

{% endcode %}

4. **Install Cosmovisor**

{% hint style="info" %}
If you already Installed **cosmovisor** before, you can skip this step.
{% endhint %}

```
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.4.0
```

5. **Create Symbolic Links for Cosmovisor**

{% code lineNumbers="true" %}

```
mkdir -p $HOME/.dymension/cosmovisor/genesis/bin
mv bin/dymd $HOME/.dymension/cosmovisor/genesis/bin/
rm -rf build

sudo ln -s $HOME/.dymension/cosmovisor/genesis $HOME/.dymension/cosmovisor/current
sudo ln -s $HOME/.dymension/cosmovisor/current/bin/dymd /usr/local/bin/dymd
```

{% endcode %}

6. **Set Config App**

{% hint style="info" %}
First, create variable for:

```
NODENAME=<fill with your node name>
PORT=<fill with your available port>

(you can use port 4-65353, except: 18, 22, 23, 53, 80 and 323)
```

{% endhint %}

{% code lineNumbers="true" %}

```
dymd config chain-id 35-C
dymd config keyring-backend file
dymd config node tcp://localhost:${PORT}657
dymd init $NODENAME --chain-id 35-C
```

{% endcode %}

7. **Download Addrbook & Genesis**

{% code overflow="wrap" lineNumbers="true" %}

```
wget -O ${HOME}/.dymension/config/addrbook.json https://ss-t.dymension.nodestake.top/addrbook.json

wget -O ${HOME}/.dymension/config/genesis.json https://ss-t.dymension.nodestake.top/genesis.json
```

{% endcode %}

8. **Configure Seeds and Peers**

{% code overflow="wrap" %}

```
-
```

{% endcode %}

9. **Configure Pruninge**

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

10. &#x20;**Create Service**

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

[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.dymension"
Environment="DAEMON_NAME=dymd"
Environment="UNSAFE_SKIP_BACKUP=true"

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

11. **Start Node**

```shellscript
sudo systemctl daemon-reload
sudo systemctl enable dymd
sudo systemctl start dymd
```

12. &#x20;(Optional) **Check Node Status**

{% hint style="info" %}
if you want check your Node logs, run the command below:
{% endhint %}

```shellscript
sudo journalctl -fu gitopiad -o cat
```

{% hint style="info" %}
if you want check your Node synchronize status, run the command below:
{% endhint %}

```shellscript
curl -s localhost:${PORT}657/status
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://services.thequadblock.com/services/testnet/dymension/installation/manual.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
