# Run a Node

#### Setting Up Your Node:[​](https://docs.celestia.org/nodes/bridge-validator-node#setting-up-your-bridge-node) <a href="#setting-up-your-bridge-node" id="setting-up-your-bridge-node"></a>

The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

#### Node Installation:

This guide shows how to install and run an Polygon full node.

#### How to install Polygon from source:

* Before you start, you might want to ensure your system is updated. You can also install a utility named `jq` to read and navigate in JSON files and outputs (other utilities could be installed too).

  ```
  sudo apt update && sudo apt upgrade -y && sudo apt install -y build-essential curl wget jq
  ```

To install **Heimdall**, run the below commands:

```
curl -L https://raw.githubusercontent.com/maticnetwork/install/main/heimdall.sh | bash -s -- <heimdall_version> <network_type> <node_type>
```

That will install the `heimdalld` and `heimdallcli` binaries. Verify the installation by checking the Heimdall version on your machine:

```
heimdalld version --long
```

**Open the P2P port (26656 by default)**

```
sudo ufw allow 26656
```

### To install **Erigon**, run the below commands:

```
git clone https://github.com/0xPolygon/erigon.git
cd erigon
git checkout <latest-stable>
make erigon
```

That will install the `Erigon` binary. Verify the installation by checking the Erigon version on your machine:

```
erigon version
```

**Open the port (30303 by default)**

```
sudo ufw allow 30303
```

### Create a new erigon service file

```
sudo nano /lib/systemd/system/erigon.service
```

```
[Unit]
Description=erigon
StartLimitIntervalSec=500
StartLimitBurst=5
[Service]
Restart=on-failure
RestartSec=5s
#WorkingDirectory=$HOME
ExecStart=/bin/bash /home/node/erigon-start.sh
Type=simple
User=node
KillSignal=SIGINT
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target

```

### The configuration below assumes that you are running it on amoy

```
sudo nano config.yaml
```

```
chain: "amoy"
bor.heimdall: "http://127.0.0.1:1317"
datadir: "/var/lib/erigon/data"
#ethstats: ""
http.api: [ "eth,net,web3,erigon,txpool,bor" ]
http.port: 8545
bodies.cache: 21474836480
db.pagesize: "16kb"
db.size.limit: "32TB"
#mine: true
miner.gaslimit: 30000000
#miner.etherbase: ""
#miner.sigfile: ""
#miner.recommit: "125s"
txpool.accountslots: 16
txpool.globalslots: 32768
txpool.globalqueue: 32768
maxpeers: 50
port: 30303
#bootnodes: [ ""]
#trustedpeers: [ "" ]

```

### Run erigon using configs provided in the config.toml

```
sudo nano erigon-start.sh
```

```
#!/usr/bin/env sh
set -x #echo on
/home/node/erigon/build/bin/erigon --config=/home/node/config.yaml

```

### Once the has been configured, we are ready to start the node and sync the data:

**Start Heimdall Service.**

```
sudo service heimdalld start
```

* Check logs in real tim&#x65;**.**

```
journalctl -u heimdalld.service -f
```

* To verify that the heimdall node is synced before proceeding.

```
curl -s localhost:26657/status | jq .result | jq .sync_info
```

Make sure that you have <mark style="color:orange;">`"catching_up": false`</mark>, otherwise leave it running until it is in sync.

Now once Heimdall is synced, run.

#### Start Erigon.

```
sudo service erigon start
```

* You can check Erigon logs here:

```
journalctl -u erigon.service -f
```


---

# 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://docs.stakepool.dev.br/polygon/erigon/run-a-node.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.
