# Run Read-Only Node

## Validator Parameters

* **Minimum hardware requirements**: AWS EC2 m5.large with 8GB RAM, 2 vCPUs, and at least 300GB of Amazon EBS General Purpose SSD (gp2) storage (or equivalent).
* We would recommend going with Ubuntu Server 22.04 LTS (64-bit).&#x20;

### **Network Settings**

Open up port 22 for SSH, as well as port 7946 for both TCP and UDP traffic. A custom port can be used with "--port \<port>" flag when running your Opera node.

## Install Required Tools

You are still logged in as the new user via SSH. Now we are going to install **Go** and **Opera**.

First, install the required build tools:

```
# Install build-essential
(validator)$ sudo apt-get install -y build-essential
# Install go
(validator)$ wget https://go.dev/dl/go1.19.3.linux-amd64.tar.gz
(validator)$ sudo tar -xvf go1.19.3.linux-amd64.tar.gz
(validator)$ sudo mv go /usr/local
# Export go paths
(validator)$ vi ~/.bash_aliases
# Append the following lines
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
#
source ~/.bash_aliases
```

## Run a Read Node

You can run your read node using go-opera 1.1.3-rc.5 (full sync or snapsync mode).

```
# Install Opera
(validator)$ git clone https://github.com/Fantom-foundation/go-opera.git
(validator)$ cd go-opera/
(validator)$ git checkout release/1.1.3-rc.5
(validator)$ make
```

Validate your Opera installation:

```
$./build/opera help

VERSION:
1.1.3-rc.5
```

**db.preset**

When using version 1.1.3, you need to add the **db.preset** argument (introduced since 1.1.2) to the starting Opera command. You can see options for this parameters with **`opera help`** command. For standard conditions, please use this option:

* db.preset=ldb-1

You can use different db presets, either `--db.preset ldb-1` OR `--db.preset legacy-db` or `--db.preset pbl-1`.  Note that ldb-1 is recommended.

Download a genesis file from this [list of genesis files](https://github.com/Fantom-foundation/lachesis_launch/blob/master/docs/genesis-files.md).&#x20;

```
# Start opera node
(validator)$ cd build/
(validator)$ wget https://download.fantom.network/testnet-6226-no-mpt.g
(validator)$ nohup ./opera --genesis testnet-6226-no-mpt.g --nousb \
            --db.preset ldb-1 &
```

You can start a node with a syncmode flag. There are two possible options:

* &#x20;"--syncmode snap", and
* "--syncmode full" (by default).

For **archive** node and **validator** node, you should use full syncmode.

For the latest update, please check [our GitHub](https://github.com/Fantom-foundation/lachesis_launch).


---

# 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.fantom.foundation/run-a-node/testnet/run-read-only-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.
