# Beacon Node

Setting up and operating an Erebus Beacon node is vital for maintaining the security and decentralization of the Erebus network. By joining as a node operator, you'll not only support the network but also earn rewards for your efforts. Here’s an all-encompassing guide to help you get started.

## **Beacon Node Overview**

The **Beacon Node** acts as a decentralized VPN gateway, providing censorship-resistant and secure internet access. It allows users to route their traffic privately through the Erebrus network while helping strengthen the network’s resilience. Operators with a **static IP** can host a Beacon Node either in a home lab or on a cloud server. **Cloud deployment is advisable** for easier setup and enhanced uptime, allowing you to earn rewards while contributing to a global privacy infrastructure.

By operating a Beacon Node, you help expand decentralized connectivity while preventing surveillance, censorship, and cyber threats. The setup is lightweight and runs in a Docker container, requiring minimal system resources.

## **Prerequisites:**

* Operating System Supported: `Linux`
* Minimum hardware requirement : `2GB RAM, 1vCPU`
* Incoming traffic on port `51820, 9080 & 9002` is allowed
* A computer with a reliable internet connection (preferably wired)
* Basic understanding of command line interface (CLI) tools i.e.  terminal
* Node Wallet (i.e. valid mnemonic on the supported chain) for on-chain registration and checkpoint

## **Estimated Cloud Deployment Costs** *(Per Month)*

Deploying Beacon Nodes on a cloud server ensures higher uptime and stability. Here’s an estimate of the monthly costs from different cloud providers:

**Projected Monthly Costs (Including Bandwidth Usage)**

| Traffic Level        | Hetzner | AWS  | DigitalOcean | Vultr |
| -------------------- | ------- | ---- | ------------ | ----- |
| **Low (100GB)**      | $5      | $10  | $12          | $8    |
| **Moderate (500GB)** | $5      | $50  | $17          | $8    |
| **High (2TB)**       | $5      | $180 | $22          | $8    |

For home lab setups, ensure you have **a static IP from your ISP** to maintain connectivity. Also, ensure you have an unlimited or high-bandwidth ISP plan to avoid additional costs. For better performance, using a dedicated VPS or bare-metal server with a static IP is recommended.

## **License & Staking Requirements**

* **License Fee:** No license required to run the node — open for community participation.
* **Staking Requirement:** **100 USD** (Currently **$0 USD**). This is changed based on demand & supply. This ensures great user experience while improving stability, prevents spam deployments.
* **Revenue Model:** Node operators earn rewards based on their **bandwidth contribution, uptime, and reliability**.

## **Installation**

1. **Install the Node Software**

Open bash terminal and run below command in  bash terminal

```shell
curl -s https://raw.githubusercontent.com/NetSepio/erebrus/main/install-node.sh -o install.sh && sudo bash install.sh
```

<figure><img src="/files/slWIWBdeCGiaMK6O6oww" alt=""><figcaption><p>Erebrus dVPN - Beacon Node Installation</p></figcaption></figure>

* Confirm to continue with the installation and installer will start installing the dependencies.

<figure><img src="/files/dXZqRmUbo8RJY1iWa1W1" alt=""><figcaption><p>Erebrus dVPN - Dependencies Installation</p></figcaption></figure>

2. **Configure the Node**

* Follow on-screen instructions and guided setup process and configure  all parameters as prompted.

<figure><img src="/files/9F54jYAVrPjnEMcsS1xD" alt=""><figcaption><p>Erebrus dVPN - Configure Parameters</p></figcaption></figure>

* Following are the configuration parameters for the `beacon` node

| Parameter              | Description                                                                                                                                                                        | Required ? |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| Installation Directory | <p>Absolute path name, where erebrus node will be installed.<br><br>(Default: Current working directory)</p>                                                                       | Yes        |
| Public IP              | <p>Public IP for dVPN node to listen on. This must be publicly routable IP address.<br><br>(Default: Automatically detected)</p>                                                   | Yes        |
| Chain                  | <p>Preferred chain to run the Erebrus dVPN node on.</p><p><a href="/pages/NnkKZvyaFqGr089xxILS#supported-blockchains">See list of supported chains</a><br><br>(Default: None) </p> | Yes        |
| Mnemonic               | Valid mnemonic on selected chain                                                                                                                                                   | Yes        |

3. **Verify Configuration**

* Verify configured parameters on screen and approve it for node installation to proceed. If any parameter is not correct, select "n/N" at the prompt and installer will exit.

<figure><img src="/files/DOaMaOt0S1jDNKsmZ2IA" alt=""><figcaption><p>Erebrus dVPN - Configuraiton Parameter Verification</p></figcaption></figure>

* Once configuration parameters are confirmed at the prompt, installer will initiate the public IP reachability test to verify if provided public IP is routable and reachable from internet on port 9080, 51820 and 9001.

<figure><img src="/files/UYSySGzMaYIuX6fVx3DV" alt=""><figcaption></figcaption></figure>

* Once IP reachability test is completed successfully, installer will start  node installation.&#x20;

<figure><img src="/files/sE3NG8jJLcuu2u3IzvLs" alt=""><figcaption><p>Erebrus dVPN - Node Startup</p></figcaption></figure>

* After successful installation, node will attempt to start the dVPN services as part of final stage. dVPN node will be functional as the end of this stage and the installer will finish. successfully.

<figure><img src="/files/penB3MeHw9oeGvbcTPfL" alt=""><figcaption><p>Erebrus dVPN - Successful Installation</p></figcaption></figure>

## **Maintenance & Monitoring**

* Regularly update the node software to benefit from security patches and performance improvements. Instructions on how to update will be provided later.
* Monitor your node's health and resource usage. Recommendations on monitoring tools (coming soon)
* Ensure your internet connection remains stable for optimal node performance.

## **Troubleshooting**

**1. Dependency Installation Failed**

**Symptom**: The installation process fails during dependency installation.

**Solution**:

* **Check the Log File**: Review the `error.log` file in the current directory for detailed error messages.
* **Docker Installation Failed**: If the failure is related to Docker installation, it might be due to privilege issues.
  * Ensure you have the necessary permissions to install and run Docker.
  * On Linux, you might need to add your user to the Docker group:

    ```bash
    bashCopy codesudo usermod -aG docker $(whoami)
    ```
  * After adding the user to the Docker group, log out and log back in to apply the changes.

**2. IP Traceability Failed**

**Symptom**: The node installation fails with errors related to IP traceability.

**Solution**:

* **Check Public IP Reachability**: Ensure your public IP address is reachable from the internet.
* **Open Required Ports**: Verify that the following ports are open and accessible from the internet:
  * 51820
  * 9002
  * 9080
* **Check the Log File**: See the `error.log` file for more details on the issue.

**3. Invalid Mnemonic**

**Symptom**: The provided mnemonic is reported as invalid during the installation process.

**Solution**:

* **Verify Mnemonic**: Ensure the mnemonic you provided is valid and consists of exactly 12 words.
* **Correct Format**: The mnemonic should be a series of words separated by spaces. Verify there are no extra spaces or missing characters.

**4. Node Already Running**

**Symptom**: The installation process fails because an Erebrus dVPN node is already running.

**Solution**:

* **Check Running Containers**: Verify if the Erebrus dVPN node is already running.
  * List all running Docker containers:

    ```bash
    docker ps -a
    ```
  * Look for any containers related to Erebrus.
* **Stop and Remove Containers**: If the Erebrus containers are running, stop and remove them before proceeding with the installation:

  ```bash
  docker stop <container_id>
  docker rm <container_id>
  ```

  Replace `<container_id>` with the actual container ID of the Erebrus node.

#### Additional Resources

For further assistance, please consult the Erebrus documentation or reach out to the support team on Discord. The `error.log` file in the current directory is an invaluable resource for diagnosing specific issues encountered during installation.

## **Security Considerations:**

* Protect your Erebus Node Operator account mnemonic - Keep its backup on a hardware wallet or paper wallet. **Do not** share the SSH access to anyone else for security concerns.
* Recommend keeping the node software and operating system updated with the latest security patches.
* Consider best practices for securing your server environment for countering DDOS attacks.


---

# 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.netsepio.com/latest/erebrus/nodes/beacon-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.
