# Etho Protocol

Etho Protocol: #Freedom Of Data

**Hello & Welcome to the Etho Protocol Documentation Portal!**

&#x20;**>** ***What is Etho Protocol?***

> *The Etho Protocol* *aims to disrupt how information is shared and controlled on the internet by providing a new solution for how files are fundamentally stored and accessed. It aims to decentralize all information while giving individuals the ability to control and secure their own data, both public and private.*&#x20;

***Imagine a world where social media content was completely held in the public domain and was 100% immutable.*** Imagine a voting system that was completely un-hackable and run with complete transparency. Imagine a version of the internet where the Googles, Facebooks and Amazons didn’t control a vast majority of all web content and traffic flow. ***The idea of a completely decentralized, democratized web is not only a utopian dream but now achievable***. Our project aims to bring all this together by providing a streamlined, completely decentralized development and content hosting platform that is usable by anyone.

The technological underpinnings of the Etho Protocol content hosting platform are comprised of blockchain technology, paired with smart contracts, [masternodes](/nodes/masternodes-introduction) and the [InterPlanetary File System](https://ipfs.io/#how).

While the Etho Protocol works diligently to completely disrupt the nature of how files are stored & distributed on The Internet, **we will also steadfastly focus on providing the same level of moxie to how the project functions on a holistic community level**. A vibrant community comprised of proven, passionate and professional individuals is the primary building block for new systems of self-governance that will be built into Etho Protocol. The goal of such systems is to provide decentralization on a human level by taking time-proven concepts such as separation of duties, democratic debate and fair elections into the next evolution of The Internet.


# Getting Involved

Fundamentally changing the way files are stored and delivered on the internet is a huge undertaking. **We need your help to build the future**. We need documentation writers, organizers, programmers, technologists & specialists of all kinds. Join us in [Discord](https://discord.com/invite/ZEHVYqBcDw) and see how you can fit into the puzzle of building the future.

In the Etho Protocol community you will find constructive debate guiding progress, regular opportunities to speak with the developer team and, as already mentioned, you'll find multiple chances to get involved. We expect erudite individuals to join us, read about the project (the [whitepaper](https://ethoprotocol.com/wp-content/uploads/ETHO-Protocol-White-Paper-May-2024.pdf) is a good starting point), get engaged with the community, and find ways to contribute based on the things observed. We will welcome you into the discussion and help you get involved.

A good way to get involved with Etho Protocol is right here by helping us write and organize all knowledge about the project. You can get compensated for doing so & earn ETHO by helping us all grow! See the [**How to Contribute to Docs**](/information/getting-involved/how-to-contribute) article and read (& follow!) our [**Docs Style Guide**](/information/getting-involved/style-guide)**.**


# How to Contribute to Docs

FAQ: How do contribute to docs.

> I'd like to help with Etho Protocol documentation!

That's awesome & we're happy to have you! This project heavily relies on the participation of passionate individuals. You can write about anything relevant to the general categories on the left. You can also improve and expand existing documentation.

> What format should I write in?

Make sure you’re familiar with [markdown](https://daringfireball.net/projects/markdown/syntax) markup. This is the format you'll be required to use for Etho Protocol documentation submissions.

> How do I submit my work?

You can submit your work to any **Community Manager (CM) or Project Manager (PM)** in [Discord](https://discord.gg/Pr5rgmx) or just post it in the **#share-your-etho-content** channel

> Can I get an account on this portal to post my work directly?

You can get your own account here after several submissions and after you've established a good relationship with your **CM** point of contact.

> How much will I get paid for contributing to Etho Protocol documentation?

**For new documentation articles, you will be compensated between 75 and 250 ETHO** depending on the article's length, readability, detail, lack of errors and other criteria. **For improving existing articles, you will be compensated between 10 and 150 ETHO** depending on the same criteria. **For translating articles, you will be compensated between 50 ETHO and 200 ETHO** depending on length and complexity.

Be mindful that all final remuneration decisions are up to your **CM's** discretion. All efforts will be made to fairly compensate contributors. If there is a disagreement between writer and **CM**, please bring up the issue to another **CM** for review and resolution.

> How do I improve your system?

You can contact any member of the team and bring up your idea or use the **#suggestions** channel in [Discord](https://discord.gg/Pr5rgmx).


# Docs Style Guide

Style Guide Rule #1: Follow the Style Guide. Rule #2: See previous rule.

### **TL;DR? We don't do that here!**

There is no summarizing this page. The *Style Guide* must be read in full and followed. Deviating from the *Style Guide* should be done after discussion, allowing the *Style Guide* to change as needed for practical purposes.

When using a Style Guide, the documentation portal will have a single voice for the reader. Without a style guide, our readers will have to adjust their expectations for each document, making it a less than ideal experience with possible, unnecessary errors and omissions.

### General Guidelines <a href="#general-guidelines" id="general-guidelines"></a>

* Try to use as few words as possible while remaining sufficiently descriptive in your instructions
* Be specific and don’t omit important information or consideration that will benefit the informed decision of the reader
* For user action instructions, put **key words** in **bold**\
  (*example*: Open **Chrome**, select the **address** field at the top and fill in [ethoprotocol.com](https://ethoprotocol.com/))
* Use *italic text* for *names and short references/quotes*
* Use as many screenshots as possible to visually assist your information and dovetail with the action instruction information in bold (see above guideline)
* Use triple code tags to distinguish terminal commands, text editor contents and code blocks
* Use single code tags to distinguish anything you find needs to stand out
* Use block-quotes for notes, comments and lengthy quotes/references

### Titles, Headings & Summaries <a href="#titles-and-headings" id="titles-and-headings"></a>

* Each non-connective (unless used as 1st word in title) word of the Title is Capitalized\
  (*example*: **T**his is a **S**ample **T**itle)
* Each document starts with a **Summary**, **Introduction** or a **Description** section which explains the background behind the document and/or any major takeaways. Most people will only use this section, we need to make it good.
* Headings start at the **#/1st** level.
* Break up your content into logical 2nd/3rd level headings to help the reader navigate the content and find useful information.

### Links <a href="#links" id="links"></a>

* When referencing this documentation portal, always include the link for ease of use
* Use good descriptions for your links in general
* When in doubt, link it for the reader's benefit


# Social Media

The best way to stay informed about Etho is to actively participate in the project as a contributor of ideas, skills and energy. Connect with us on your favorite platforms and see where you fit in!


# Network Specifications

|                   |                                |
| ----------------- | ------------------------------ |
| Algorithm         | Ethash/Dagger (Proof-of-Work)  |
| Target Block Time | 13 Seconds                     |
| Network ID        | 1313114 (0x14095a)             |
| RPC Server        | <https://rpc.ethoprotocol.com> |


# What do the Network Specifications Mean?

## What is Ethash/DaggerHashimoto?

**Dagger-Hashimoto** is the initial version of the [**Ethereum**](https://en.bitcoinwiki.org/wiki/Ethereum)**'**&#x73; [**Ethash**](https://en.bitcoinwiki.org/wiki/Ethash) proof-of-work algorithm. It was designed by [**Vitalik Buterin**](https://en.bitcoinwiki.org/wiki/Vitalik_Buterin) and the Ethereum team by combining the prominent features of the Hashimoto algorithm and the Dagger algorithm. Dagger-Hashimoto is a memory-hard algorithm that was designed to be **ASIC-resistant**.

Dagger-Hashimoto was one of the fastest algorithms at the time of its genesis. It also provided cryptocurrencies with ASIC-resistance, that was a huge advantage in comparison to its popular contemporaries. However, not a lot of coins are still powered by the Dagger-Hashimoto hash function. Most of the coins that started with it later changed their hashing algorithm to Ethash alongside the Ethereum network.

Both algorithms (Dagger-Hashimoto and Ethash) were later updated separately and are not currently considered to be the same algorithm. However, they are still sometimes considered to be synonymous.&#x20;

## What is a Target Block Time?

**Block time** defines the **time** it takes to mine a **block**. On any blockchain, there is an **expected block time**, and an average **block time**. The Etho Protocol Network has an **expected block time of 13 Seconds** but has an **average block time which fluctuates between 10-20 Seconds.**

## **What is a Block reward?**

&#x20;**Block reward** refers to the new ETHO that are created when a new block is found on the network.

## What is the Miner Reward?

**Miner reward** refers to the new ETHO that are awarded by the blockchain network to eligible cryptocurrency miners for each **block** they mine successfully.

## What is the Node Reward?

**Node reward** refers to the amount of ETHO awarded by the blockchain network to eligible SN/MN/GN for **each new block found on the network.**

## **What is the** Etho Protocol Treasury Deposit?

This is the **amount of ETHO per block** which is **automatically sent to the Etho Protocol Developer fund** - **These coins are used to pay for anything from**: Exchange listings, Developer fees, Staff paychecks etc.

## What is the Network ID?

A **Network ID** is essentially a **Unique ID for each Ethereum fork**.

## What is the RPC server?

**Remote Procedure Call Sever** (RPC Server) allows users to interact with an Etho Protocol Geth Node run by the official Etho Protocol Team.&#x20;


# API documentation

API documentation

An API server is providing a REST API for ETHO protocol related information. The server can be reached at <https://api.ethoprotocol.com>.&#x20;

The syntax of API calls is:\
<https://api.ethoprotocol.com/api?module=xxxx\\&action=yyyy>

where xxxx represents the functionality type and yyyy represents the requested action.

All JSON replies are strings.

### Basic functionality

The module with basic functionality provides some basic information both from the Etho Protocol chain and from the master nodes.

#### Query Etho Protocol total supply

<mark style="color:blue;">`GET`</mark> `https://api.ethoprotocol.com/api?module=basic&action=totalsupply`

This call returns the total supply emitted by the blockchain at the current block number. The total supply contains both mining rewards, uncles, dev rewards, and node rewards.

#### Query Parameters

| Name                                                 | Type   | Description               |
| ---------------------------------------------------- | ------ | ------------------------- |
| module=basic<mark style="color:red;">\*</mark>       | String | Set the basic function    |
| action=totalsupply<mark style="color:red;">\*</mark> | String | Set action to totalsupply |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  "BlockHeight": "9408103",
  "TotalSupply": "79480009"
}
```

{% endtab %}
{% endtabs %}

#### Query Etho Protocol circulating supply

<mark style="color:blue;">`GET`</mark> `https://api.ethoprotocol.com/api?module=basic&action=supply`

The call returns the circulating supply of Etho Protocol at the current block number. The circulating supply is defined as:\
\
Circulating reward = Total reward - Dev wallet - Staked Etho

The staked ETHO is the result of ETHO providing a storage layer and for that purpose is not in circulation.

#### Query Parameters

| Name                                            | Type   | Description                         |
| ----------------------------------------------- | ------ | ----------------------------------- |
| module=basic<mark style="color:red;">\*</mark>  | String | Set the basic function              |
| action=supply<mark style="color:red;">\*</mark> | String | Set the circulating supply function |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  "BlockHeight": "9407685",
  "CirculatingSupply": "62598687"
}
```

{% endtab %}
{% endtabs %}

#### Query Etho Protocol chain information

<mark style="color:blue;">`GET`</mark> `https://api.ethoprotocol.com/api?module=basic&action=chaininfo`

The call queries the difficulty, hashrate and block number of Etho Protocol at the current block number

#### Query Parameters

| Name                                           | Type   | Description                 |
| ---------------------------------------------- | ------ | --------------------------- |
| module=basic<mark style="color:red;">\*</mark> | String | Set the basic function      |
| action=chaininfo                               | String | Set the chain info function |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "blocktime": 5.7,
    "difficulty": "45898234326",
    "hashrate": 8052321811.578947
}
```

*blocktime*: average time in seconds over the last 10 blocks

*difficulty*: average difficulty over the last 10 blocks

*hashrate*: average hash rate over the last 10 blocks&#x20;
{% endtab %}
{% endtabs %}

#### Query Etho Protocol master node locations

<mark style="color:blue;">`GET`</mark> `https://api.ethoprotocol.com/api?module=basic&action=node_locations`

The call queries the positions and type of Etho Nodes of Etho Protocol.

#### Query Parameters

| Name                                           | Type   | Description                    |
| ---------------------------------------------- | ------ | ------------------------------ |
| module=basic<mark style="color:red;">\*</mark> | String | Set the basic function         |
| action=node\_locations                         | String | Set the node location function |

{% tabs %}
{% tab title="200: OK " %}

```javascript
[
  {
    "id": "02CVFl9ZCY4DWj4VxtGG",
    "x": 49.405,
    "y": 11.1617,
    "nodettype": "gn"
  },
  {
    "id": "0ayWuYvRELov09Ogi3al",
    "x": 49.405,
    "y": 11.1617,
    "nodettype": "gn"
  },
  {
    "id": "0azYOmwRPJMAT2dAF8Qj",
    "x": 49.405,
    "y": 11.1617,
    "nodettype": "gn"
  }
}
```

{% endtab %}
{% endtabs %}

#### Query Etho Protocol master node statistics

<mark style="color:blue;">`GET`</mark> `https://api.ethoprotocol.com/api?module=basic&action=network_stats`

The call queries general stats of Etho Protocol nodes.

#### Query Parameters

| Name                                           | Type   | Description                    |
| ---------------------------------------------- | ------ | ------------------------------ |
| module=basic<mark style="color:red;">\*</mark> | String | Set the basic function         |
| action=network\_stats                          | String | Set the network\_stats funct { |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  "activeUploadContracts": "15975",
  "networkStorageAvailable": "27402000000000",
  "totalNetworkStorageUs": "269574336397.25165",
  "active_gatewaynodes": "292",
  "active_masternodes": "108",
  "active_servicenodes": "29",
  "gatewaynode_reward": "12.376",
  "masternode_reward": "6.18802",
  "servicenode_reward": "1.54701"
}
```

{% endtab %}
{% endtabs %}


# Etho Explorer

The Etho Protocol Blockchain Explorer is a comprehensive tool designed to allow users to interact with and analyze data on the Etho Protocol blockchain. It provides detailed information on key blockchain components, including:

1. **Blocks**: View details of recently mined blocks, including block height, size, and miner information.
2. **Transactions**: Track individual transactions with data on sender, receiver, amount, and fees.
3. **Addresses**: Explore wallet addresses, view balances, and track their activity.
4. **APIs**: Access GraphQL and RPC APIs for advanced queries and integration with other applications.

For more details, you can visit the [Etho Protocol Blockchain Explorer](https://explorer.ethoprotocol.com/).


# Etho Protocol Democratic Council

Etho Protocol: #Freedom Of Data

## Description

Since 2024, the Etho Protocol Council has been composed of the most active and invested members of the community. This democratically elected group is responsible for providing structure and guiding the maturity of Etho Protocol's funding and development processes.&#x20;

The council ensures stable planning, governance, and development while upholding the values that the Etho Protocol community agrees to follow.

The Etho Protocol Council members are currently all active on the community's primary Discord server.

{% embed url="<https://discord.com/invite/ZEHVYqBcDw>" %}
Join us on Discord !&#x20;
{% endembed %}

### Current Etho Protocol Council Members (as of 2024-08-01)

<figure><img src="/files/GVwGZAR0JP4bM9ABWmTc" alt=""><figcaption><p>Actual council members on discord</p></figcaption></figure>

Each council member holds a signature on a multisig wallet, ensuring security and decentralized governance. A multisig (multi-signature) wallet requires multiple signatures to authorize transactions, enhancing security and trust.

We are always open to welcoming new council members and encouraging active community participation.<br>


# Etho Protocol Council Multisig Wallet

Etho Protocol: #Freedom Of Data

## Description

* The wallet is currently funded monthly directly from the dev fund wallet. During a future fork, the funding will be finalized to be part of consensus as agreed upon by the [Provisional Council](/governance/ether-1-democratic-council#current-ether-1-provisional-council-members-as-of-2020-02-15).
* Using the Etho Protocol Council Multi-signature Wallet requires 4 of the 7 council members' approval.
* All ETHO transactions from the multisig wallet require ECP backing. ECP's are well defined proposals, initiated and voted in the Etho Protocol Council weekly meetings.&#x20;
  * Funding ECP's can be passed that fund projects as agreed upon in advance. Such multisig wallet transactions need to reference the Backing ECP within the tracking spreadsheet.
  * All multisig transactions must be documented in the official ECP tracking spreadsheet <https://docs.google.com/spreadsheets/d/1xG7OA8ICmJwkWlNhGiQD9dOvfs2jvvQ3QY_UiauOevs/edit?usp=sharing>
* All community members are encouraged to actively follow audit the Etho Protocol funding and governance systems.

## Using Etho Protocol Multisig Wallet

### Displaying Multisig Wallet

Navigate to <https://fund.ether1.org/>

On the top-left side of the screen, go to **Wallets**, click **Add**, indicate **Restore** & **paste** wallet

```
0xBA57dFe21F78F921F53B83fFE1958Bbab50F6b46
```

![](/files/-M0B6Z5iAfpQB1U_wv6B)

### Adding Etho Protocol Provisional Council Member Names

After adding the multisig to your wallet display, **click on its name**

![](/files/-M0B8ECHKPzGqvYOACnC)

You will see a **list of 7 owners**, **expand it** and **Edit them** as shown below

![](/files/-M0B8TaNE4JIVuOS2Zgv)

| Provisional Council Member Name                          | Member Multisig Wallet                                   |
| -------------------------------------------------------- | -------------------------------------------------------- |
| @Allan Delmare (ID: 342834308945281025)                  | <p></p><p>0x6830EBcA6Da5277f2154aB94E36F807B4Af6Cc7a</p> |
| @CableGod \| Ether-1 (ID: 140537599604424704)            | 0xFA70838b64B8146F3e970EF9Bc8177a567518477               |
| @Dylie of $ETHO (ID: 215055968298467329)                 | 0x87F0EA8C325caFBBB8BB748756ef147b7A50405d               |
| @Crypto\_Saiyan of $ETHO Aug’18 (ID: 443360969373122561) | 0xE1Fe94c4B9B697Fe773534A79A301FA4f186e5Ff               |
| @HashRatez (ID: 443955395233447936)                      | 0x2812BE8E42BFC059D0e461A9cDf19b2a329cc85E               |
| @Pistol of $ETHO (ID: 378374529707278347)                | 0x31e2d1e5711f90e549b6809bDCedB44af8854B2b               |
| @Exlo#2873 (ID: 404957413796478976)                      | 0xE59DC67f06b32a541f02BA4Ccf29725D9C51b774               |

{% hint style="info" %}
Official Source: <https://github.com/Ether1Project/ECPs/issues/17>
{% endhint %}

### Auditing Multisig Wallet

After adding all the council members' names you will be able to see who approved which transaction.&#x20;

{% hint style="info" %}
**All official transactions are also documented here to ease of review** [**https://docs.google.com/spreadsheets/d/1xG7OA8ICmJwkWlNhGiQD9dOvfs2jvvQ3QY\_UiauOevs/edit?usp=sharing**](https://docs.google.com/spreadsheets/d/1xG7OA8ICmJwkWlNhGiQD9dOvfs2jvvQ3QY_UiauOevs/edit?usp=sharing)
{% endhint %}

![Auditing Multisig Transactions](/files/-M0BAYE2K13VvYKaxXrc)


# Etho Protocol ECP Logistics


# Opening ECP Pull Request

Officially putting in the ECP for discussion and voting

## Introduction

As this point in the ECP process, you should have a fully formed ECP written out as shown in the ECP Style Guide section.&#x20;

An ECP can only be brought forward as previously announced and seconded in a weekly Etho Protocol Council Meeting. Two Etho Protocol Council Members need to support the ECP in order to reach this stage.

## Opening First ECP Pull Request

### Forking Etho Protocol ECP Repository

**Fork** the Etho Protocol Github **ECP** repo here: <https://github.com/Ether1Project/ECPs>

{% hint style="info" %}
By forking the Etho Protocol ECP repo, you provide another copy of the data therein. Even better if you always keep a local copy of your ECP repo using the Github desktop client. *#DecentralizeEverything* :muscle:&#x20;
{% endhint %}

![Fork the ECP repo](/files/-M0tYbK6XUrsbkNU-l8w)

### Upload Properly Formatted ECP markdown file

Once you've forked the repo, you will upload your markdown formatted ECP file and input the summary of the ECP file into the body of the pull request.

Navigate to the front page of the newly forked ECP repo (*in our case here it'll be located on the ether1cloud account*). **In your case, this will be on your own individual account.**

{% embed url="<https://github.com/ether1cloud/ECPs>" %}

![ether1cloud ECP repo fork (example only)](/files/-M0t_l1Mg8r2fpGufDVi)

Navigate to the `/site/content/post` subdirectory by clicking on the respective folder name within each level

![All ECP documents location](/files/-M0takk8Yn3zISzflEKu)

{% hint style="info" %}
If unsure about the formatting of an ECP, reference the ecp8.md and ecp9.md files
{% endhint %}

Here's what a well formatted **ecpXXX.md** file will look like:

![](/files/-M0wGgrt9F6har_4JpaF)

Using the Github interface you can either create a new file and paste your work into it or upload the **ecpXXX.md** file right into the post directory

![](/files/-M0tud1zXXkwk_YfjYfJ)

**Create new file**

![](/files/-M0tvbhjVzKU-3qbNyWY)

**Upload files**

![](/files/-M0tw7vpiz1K8S5P3rFr)

### Submit a Pull Request back to the Etho Protocol ECP Repo

Navigate to <https://github.com/Ether1Project/ECPs/pulls> and select **New Pull Request**

![New Pull Request](/files/-M0txVith7dQTSay2S9-)

Select the pull request details as shown below. **Enable the compare across forks option** and **select the official Etho Protocol repo on the left & your newly forked one (with the ECP markdown file) on the right**.

![Fill in Pull Request Details #1](/files/-M0tyAAdjlv-eGM4Nm_X)

On the next screen you will see the second part of the Pull Request process.  Paste the number and name of the ECP in the title bar and paste everything after the second --- line into the body of the pull request.  This will enable all participants to have an easy view of the ECP body.

![Fill in Pull Request Details #1](/files/-M0tzivgvckM3kSHJ-k2)

![Here's what to put into the body of the pull request. Make sure to REMOVE the highlighted section](/files/-M0u-AhUoC9lDmQ4ZSXd)

Use the **Preview** view option to make sure the ECP looks properly formatted.

![Preview Your ECP pull request](/files/-M0u-azMpV-DWc_h_A1Y)

Congratulations you have just created your official ECP pull request!


# Nodes Introduction

![Etho Protocol Node Network /w ethoFS application-specific nodes called Gateway Nodes](/files/GrvUaLGtJvwMiuq5kaSI)

#### What are Etho Protocol Masternodes?

***Masternodes***, ***Service Nodes*** and ***Gateway Nodes*** hosted by various independent ETHO holders effectively provide distributed computational and storage capacity to the Etho Protocol Ecosystem of distributed services.

The network incentivizes anyone who chooses to reliably operate a masternode of sufficient size and bandwidth in return for providing these resources and network decentralization.&#x20;

**Service Nodes** require a collateral of 5,000 ETHO, 20 GB of available storage, 1GB of RAM and a public static IP address. Service nodes require 95%+ uptime for payment. [Learn how to setup Service Nodes!](/nodes/installing-uninstalling-etho-nodes/installing-etho-nodes)

**Masternodes** require a collateral of 15,000 ETHO, 40GB of available storage, 2GB of RAM and a static public IP address. Masternodes require 95%+ uptime for payment. [Learn how setup Masternodes!](/nodes/installing-uninstalling-etho-nodes/installing-etho-nodes)

**Gateway Nodes** require a collateral of 30,000 ETHO and 80 GB of available storage, 4GB of RAM and a public static IP address. Gateway nodes require 98%+ uptime for payment. [Learn how to setup Gateway Nodes!](broken://pages/-LSynBMVGnoN6bEv8sNE)


# Installing/Uninstalling Etho Protocol Nodes


# Installing Etho Protocol Nodes

This page explains how to use Debian/Ubuntu/Mint Linux or Redhat/CentOS/Fedora to run the Etho Protocol Masternode and Service Node software

{% hint style="info" %} <mark style="color:orange;">Please note!</mark> You can setup now an Etho node with any bridged adress ( ERC20 , BEP20 , Main net )&#x20;
{% endhint %}

### Section 1 — Node Types (An overview of the different nodes on the network and their server / collateral requirements.)

The Etho Protocol project features three types of nodes: Gateway Nodes, Master Nodes, and Service Nodes. The purpose of these nodes is to provide storage and computational resources to the ethoFS network, to provide capacity and redundancy for content hosted decentrally (on many nodes!) on the network. **This guide focuses on the setting up for Masternodes and Service Nodes.**

### Section 2 — Server Options (A brief summary of the options when it comes to running an Etho Protocol node.)

It is possible to host an Etho Protocol Node on any server which meets the minimum requirements detailed below. Either on a dedicated server or through an online VPS provider, such as [Vultr](https://www.vultr.com/), [Digital Ocean](https://www.digitalocean.com/), [OVH](https://www.ovh.com/world/vps/) and many others. Most people opt for the VPS option, as it is typically much easier to configure and does not have the same cost as a local server does.\
\
**It is important to spread nodes across a range of providers and data centers within each provider, in the case of network outage of a particular data center or provider. The more distributed geographically the more resilient the network will be.**

**The collateral required to host a gatewaynode is 30 thousand, a masternode is 15 thousand ETHO and a service node only requires 5 thousand ETHO.**

Servers running Etho Protocol nodes must adhere to the following hardware and networking **requirements**:

* Have a **static** **public IPv4 address**
* **Gateway Nodes require 4GB of RAM, Masternodes require 2GB of RAM** and **Service Nodes 1GB of RAM**
* Must allow firewall **access through TCP ports 80, 4001, 5001 and 30305**. (For node traffic)
* An **uptime of 95%** is required for **Service Nodes and Masternodes**
* An **uptime of 98%** is required for **Gateway Nodes**

{% hint style="info" %}
Etho Protocol node operators are highly encouraged to only use servers that meet all hardware requirements. Node software will include hardware configuration checks to ensure the integrity of the network.
{% endhint %}

### Section 3 — Example VPS Setup (A step by step guide on how to configure a VPS through Vultr.)

This section of the guide will focus on setting up a VPS server through Vultr. As previously mentioned, it is possible to use a range of different providers or your own server-grade hardware. Just [DuckDuckGo for VPS providers](https://duckduckgo.com/?q=vps+providers\&ia=web) and choose the right one for you.

In order to get started with Vultr, setup and account and deposit some funds.

1. After setting up an account on Vultr, and having deposited funds to your account through the billing section, it is now possible to begin setting up a VPS.
2. On the menu, select the servers page. From there, **click on the plus icon** to add a new server.
3. Now you will be presented with a page titled **Deploy New Instance**. This page is where all of the settings for the VPS are selected. The following steps detail what options you need to select during the server setup process
   1. **Server Location**: The location of the server is not particularity important, I’d suggest picking the server location nearest to your location for the lowest latency when connecting to the VPS. (Although in reality location is not likely to have a significant impact on connection speed.)
   2. **Server Type**: This is where you select the operating system for the VPS. It is possible to run Etho Protocol nodes on a range of Linux based operating systems, such as Ubuntu, Debian, and Fedora. For the purposes of this guide, we will be using an Ubuntu-based VPS. (Ubuntu version 16.04)
   3. **Server-Size**: For the service node, the $5 / month package is sufficient, while for the Master Node the $10 / month package is sufficient. The gateway node will require the $20 / month package.
   4. There is no need to select any options under the Additional Features, Startup Script or SSH Keys options. **These can all be left blank**.
   5. **Server Hostname & Label**: Name the server something appropriate, such as **Etho Protocol Master Node 01**. So you can keep track of it if you have multiple instances.
   6. Press the **Deploy Now** Button. It will take a couple minutes for the VPS to be set up.<br>

### Section 4: SSH (Explanation on how to connect to the server through SSH.)

{% hint style="info" %}
If you don't like using SSH, in most cases, you don't have to! The vast majority of VPS providers will provide you with easy console access using your browser. If you have console access, you do not need to open TCP port 22 for SSH. You can move on to the next step if you prefer using the console.
{% endhint %}

SSH is the secure method which we use to connect to the server in order to configure the operating system and node. This requires TCP port 22 to be open, as this is the port which the SSH protocol uses by default to communicate with the server.&#x20;

#### SSH Using Windows

On Windows, an SSH client must be downloaded, such as Putty.

![Putty Connection](/files/-LRyJKd8Hfrq0CO5bGPY)

\
\
To connect to the server through SSH you will need the IP address of the server, along with the root username and password. This can be found on the VPS provider's website or in your email inbox.

Using Putty, input your IP address from your server /VPS in order to start an SSH connection.

{% hint style="info" %}
When connecting using Putty, you can paste in your password by copying it from the source and then right-clicking within the putty window. The right click acts as paste, then you hit enter to submit it.
{% endhint %}

You will receive the warning screen below when you connect to your VPS for the first time. Simply select **Yes** and this will save the server's fingerprint on your home computer.

![Putty host key warning screen](/files/qMrRgpbalHSYnrfFbPQE)

{% hint style="info" %}
If you ever get the same warning again on the same machine, beware, you may be connecting to a rogue server.
{% endhint %}

#### SSH Using macOS or Linux

SSH is built into macOS and Linux operating systems within the terminal, so no additional programs are needed; you simply type `ssh <username>@<ip_address_of_server> (provided by VPS company)`as seen below:

![SSH into server at 192.168.1.5 with oxsdaily username](/files/-LS05aahBRAaE5Z6SSzP)

When first SSH-ing into the VPS, use `root@<ip_address_of_server>`, then switch over to `ether1node@<ip_address_of_server>` when the guide says to do it below

Just like with Windows, macOS and Linux machines will warn you to save the SSH fingerprint of the server  upon first connecting to it.

![macOS or Linux terminal saving the fingerprint of the VPS server](/files/-LS06hOwIiRY5KY1YlsE)

### Section 5: Checking Required VPS Ports (Make sure that the ports required by the node software are not in use.)

Not all VPS configurations are the same. **Sometimes you will have software installed that is using the service port numbers required for the operation of Etho Protocol Gateway Nodes: TCP ports 80,4001, 5001 and 30305.**

There is an easy way to make sure all necessary ports are unused. Simply run the commands below and make sure there is no output returned for any of them. If you see any output, that means you need to disable something in order to run your Etho Protocol Gateway Node.

```
sudo lsof -i tcp:80 -s tcp:listen
sudo lsof -i tcp:4001 -s tcp:listen
sudo lsof -i tcp:5001 -s tcp:listen
sudo lsof -i tcp:30305 -s tcp:listen
```

Here's what a good configuration looks like:

![All ports are available for the ETHO Protocol Node software!](/files/-LTAhKdUkMeHcoCkbyzL)

You may see output when you run the command above. If you do, observe the name of the process and disable it. The name of the process is displayed on the left side.

![apache2 using port 80](/files/-LTAhirtGG-g5b-KcrPd)

Simply run the 2 commands below to disable the service blocking your port. Then run the first command over again to ensure the port has been released. **Replace the name of the service with what you see shown on the left side (in red)**

```
sudo systemctl stop apache2
sudo systemctl disable apache2
sudo lsof -i tcp:80 -s tcp:listen
```

![The apache2 service has been disabled and nothing is blocking port 80. Good to install now!](/files/-LTAiVtiWEHf9k3Vi5pj)

### Section 6: Debian / Ubuntu Server Configuration (A guide on how to configure an Ubuntu / Debian based server.)

This section of the guide is designed for Debian / Ubuntu based servers. Please see the next section of the guide if your server is running on CentOS, Fedora or Redhat.\
\
After logging into the server as root, it is best to do some general updates. Copy and paste the following commands, one by one, into the SSH window, to make sure the operating system is updated. We will also set up a user to run the node software under, as it is not advisable to run the node under the root user.

```bash
apt-get update
apt-get dist-upgrade -y
mkdir /var/run/fail2ban
apt-get install sudo ufw fail2ban nano -y
adduser ether1node
usermod -aG sudo ether1node
adduser ether1node systemd-journal
```

While still logged in as root, make sure your firewall is configured by allowing TCP ports 22 and 30305 for server administration and Etho Protocol node communications.

```bash
ufw reset
ufw allow 22/tcp
ufw allow 4001/tcp
ufw allow 5001/tcp
ufw allow 30305/tcp
ufw allow 30305/udp
ufw enable
```

One last task to be executed as root is configuring fail2ban, which will blacklist IP addresses that try to guess your root or ether1node password.

```bash
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
systemctl restart fail2ban
fail2ban-client status
```

The last command makes sure that fail2ban is operating properly. Ensure you have 1 jail active as seen below

![Fail2ban enabled for sshd](/files/-LRyaKVJQznaXlK6ub7q)

After running the above commands & creating the ether1node user, disconnect from the server by closing down the Putty window or by type `exit` into the same window. Then reconnect to the server using the same IP address as before, but using the ‘ether1node’ user which you just set up.\
\
You will be presented with the following terminal window if you logged in to the new user account properly. **It is very important to ensure that you are connected as ether1node and not as the root user.**

![Putty connection with ether1node](/files/ZJrnFOSbx4FKd1qVtuPe)

Now you are connected to the server as the correct user we are going to install the node. **Then reconnect to the server using the same IP address as before, but using the ether1node user which you just set up. It's very important to use the ether1node user to run the commands below.**

Log in to the node dashboard <https://nodes.ethoprotocol.com/> and press on "Install a Node"

![](/files/tPInRvhNVI0aJ56nbvVN)

#### Paste Your wallet address (it needs to be an address on the ETHO network) containing the staked ETHO. Next, choose the node which You want to deploy. Remember:

* Gateway nodes, requiring staking of 30k ETHO
* Master nodes, requiring staking of 15k ETHO
* Service nodes, requiring staking of 5k ETHO

Then You have below the tailored installation scripts for Debian or Ubuntu. Also, scripts for CentOS/Redhat or Fedora are available. These scripts are pasted into a VPS prepared to host your IPFS node.

![Copy the script](/files/jPsOx0wJWsux3XyVqyye)

![Setup sucsessfully](https://382104098-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQea_R_7Q-vq_Ulyx5B-887967055%2Fuploads%2FQoQH6xGhZaoIv3oiP9M9%2FSkjermbilde%202022-03-14%20111817.png?alt=media\&token=721ba578-9dcb-4102-98c9-3658faf75f76)

Now the node script is running on the Server! In order to double check that the node is running you can use one of these commands:

```bash
sudo systemctl status ether1node
sudo journalctl -f -u ether1node
```

#### Dashboard - Master Nodes online

![](/files/Q4mlKtvCmow1QvWo5Sub)

Once Your node contacts the dashboard, You will see it listed here. For nodes to be able to receive payments, the node needs to be online for 24hrs. Node details will be showing information on the payments.

{% hint style="info" %}
You will be asked to input the password for ether1node during the installation
{% endhint %}

You should see the following terminal output after running the first command if everything is working properly. (Pay attention to the active status in the terminal output)

![](/files/tpwpQnbYjMwdhCwt1rxR)

### Section 7: CentOS / Fedora / Redhat Server Configuration (A guide on how to configure a CentOS /Fedora / Redhat based server.)

\
This section of the guide is designed for CentOS, Fedora and Redhat based servers. Please see the previous section of the guide if your server is running a Debian or Ubuntu based operating system.\
\
After logging into the server as root, it is best to do some general updates. Copy and paste the following commands into the SSH window, to make sure the operating system is updated. We will also set up a user to run the node software under, as it is not advisable to run the node under the root user.

```bash
yum update -y
yum install wget nano systemd firewalld epel-release -y
yum install fail2ban -y
adduser ether1node && passwd ether1node
usermod -aG wheel ether1node
```

While still logged in as root, make sure your firewall is configured by allowing TCP ports 22 and 30305 for server administration and Etho Protocol node communications.

```bash
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=4001/tcp --permanent
firewall-cmd --zone=public --add-port=5001/tcp --permanent
firewall-cmd --zone=public --add-port=30305/tcp --permanent
firewall-cmd --zone=public --add-port=30305/udp --permanent
firewall-cmd --reload
systemctl start firewalld
systemctl enable firewalld
```

One last task to be executed as root is configuring fail2ban, which will blacklist IP addresses that try to guess your root or ether1node password.

```bash
cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
```

On RPM based systems, fail2ban is not enabled by default. You have to edit the jail.local file to enable it

```
nano /etc/fail2ban/jail.local
```

![jail.local](/files/-LRy_3n7KYaz0AvzeV0f)

Simply remote the hashtags and save the file by pressing **Ctrl+X** then **Y** to confirm. Now start the fail2ban service and ensure you have 1 jail active

```
systemctl start fail2ban
systemctl enable fail2ban
fail2ban-client status
```

![fail2ban should display status of sshd jail active](/files/-LRyaTiAZLmLvLOl_XCs)

After running the above commands, disconnect from the server by closing down the Putty window. **Then reconnect to the server using the same IP address as before, but using the ether1node user which you just set up. It's very important to use the ether1node user to run the commands below.**

Now you are connected to the server as the correct user we are going to install the node. **Then reconnect to the server using the same IP address as before, but using the ether1node user which you just set up. It's very important to use the ether1node user to run the commands below.**

Log in to the node dashboard <https://nodes.ethoprotocol.com/> and press on "Install a Node"

![](/files/tPInRvhNVI0aJ56nbvVN)

#### Paste Your wallet address (it needs to be an address on the ETHO network) containing the staked ETHO. Next, choose the node which You want to deploy. Remember:

* Gateway nodes, requiring staking of 30k ETHO
* Master nodes, requiring staking of 15k ETHO
* Service nodes, requiring staking of 5k ETHO

Then You have below the tailored installation scripts for Debian or Ubuntu. Also, scripts for CentOS/Redhat or Fedora are available. These scripts are pasted into a VPS prepared to host your IPFS node.

![](/files/uzN4cv5ImhIfWUKj6288)

![Setup successfully](https://382104098-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQea_R_7Q-vq_Ulyx5B-887967055%2Fuploads%2FQoQH6xGhZaoIv3oiP9M9%2FSkjermbilde%202022-03-14%20111817.png?alt=media\&token=721ba578-9dcb-4102-98c9-3658faf75f76)

Now the node script is running on the Server! In order to double check that the node is running you can use one of these commands:

```bash
sudo systemctl status ether1node
sudo journalctl -f -u ether1node
```

### Dashboard - Master Nodes online

![](/files/Q4mlKtvCmow1QvWo5Sub)

Once Your node contacts the dashboard, You will see it listed here. For nodes to be able to receive payments, the node needs to be online for 24hrs. Node details will be showing information on the payments.

{% hint style="info" %}
You will be asked to input the password for ether node during the installation
{% endhint %}

You should see the following terminal output after running the first command if everything is working properly. (Pay attention to the active status in the terminal output)

![](/files/tpwpQnbYjMwdhCwt1rxR)


# Installing Etho Protocol Nodes with Unit

Unit is a node management solution from https\://unit.cryon.io/#/

{% hint style="info" %} <mark style="color:orange;">Please note!</mark> You can setup now an Etho node with any bridged adress ( ERC20 , BEP20 , Main net )&#x20;
{% endhint %}

## Introduction

**Unit** is a virtualization based node management solution which supports several different node projects as well as running generic Docker images and even VMs from other providers. This allows you to take advantage of the full capacity of your VPS or physical server. Unit and its remote management application called Frontier go hand-in-hand to bring node management to the masses.

**Unit** itself is a **command line (CLI) utility** which is installed directly on the Linux based VPS or the physical server that will run the Etho Protocol nodes. Unit has its own set of native commands to install, manage and monitor your nodes right from the CLI.  You can look up the commands here: <https://github.com/cryon-io/unit>.

This guide focuses on using **Frontier** to connect to your Unit-enabled VPS or physical server. Frontier is a graphical user interface (GUI) management utility for Unit. Frontier allows you to manage nodes on your Linux based servers without having to know any CLI commands. You can run Frontier on a remote computer or even on the server itself as long as it has a GUI installed and you have console access.

Unit has the ability to **auto-update** your Etho Protocol nodes, **auto heal** them in case the geth or ethoFS services crash and greatly **increase the speed with which you can deploy and manage Etho Protocol nodes**.

![Unit Frontier](/files/-Lr2PMOyoU4mzrrPijf7)

## Prerequisites

### General Considerations

Running Unit has some prerequisites. Running multiple nodes has some considerations as well to ensure you have a good experience.

* **You must run Unit on a fairly new Linux based Operating System (OS) with a recent kernel version**. It will not run on cut rate providers. Some OpenVZ based providers for example run a very old kernel version which blocks your ability to use Unit.
* **You must comply with all Etho Protocol node hardware requirements.** You also must take into account the additional requirements of each virtual node when considering the capacity of your VPS or physical server. If you overload your VPS or physical server, your node software will crash, you may not receive all due rewards and the node network may suffer due to your node's inability to be a fully responsive participant.
* Just like with any server on the internet, with Etho Protocol nodes **it's expected your public IP address will not change**. Renting a VPS server or physical server with statically assigned public IP addresses is highly recommended. Users who want to run a node from home should be aware that each time your IP address changes, you will need to re-setup your server. Your Etho Protocol nodes will use a fairly large amount of data; if you're running them from home, make sure your ISP will not suspend you for this reason.

![Etho Protocol Node Hardware Requirements](/files/-Lqs2pOhG_nb4m8prPug)

### Public IP Addresses

There are 2 ways to host a server on the internet. You can connect a server right to the ISP in which case the server gets its own public IP address. You can also use your own router or firewall in which case the router/firewall device has your public IP address(es) and behind it you have computers and VMs which all have private IP address that look like: 10.0.0.0, 172.16.0.0, 192.168.0.0. The technology which allows all your local devices to share the same public IP address is called NAT (Network Address Translation).

**The Etho Protocol node system cares about your public IP address**. You will have to use you public IP if you use NAT for your Etho Protocol node. Using NAT requires you to manually map the publicly required ports for Etho Protocol service to your server's private IP. If you need help configuring NAT, go ahead and hop on the project's [Discord server](https://discord.gg/MFn9Tmz) for assistance and general advice about NAT in the #nodes channel.

If you have multiple public IP addresses on your server, you will need to make sure these are all assigned to your OS.  Unit is unable to use IP addresses which are not known to the base Linux OS. The secondary IP addresses can be added to your primary network interface, which will have a your primary IP address already assigned. If you need more help with this step, we invite you to hop on over to the [project's Discord and ask for help in the #nodes channel](https://discord.gg/MFn9Tmz).

### Service Ports

Regardless of how many public IP addresses you have assigned to your server or are currently NAT translating on your router, you need to make sure the required TCP and UDP ports are open which are required for the operation of Etho Protocol services. The following ports are required for the proper operation of Etho Protocol services

#### Etho Protocol Geth Ports

These ports are required for the proper operation of the Etho Protocol blockchain.

```
tcp/udp/30305
```

#### ethoFS Ports for Masternodes and Service Nodes

These ports are required for the proper operation of inter-ethoFS communication and synchronization.

```
tcp/4001
tcp/5001
```

#### ethoFS Ports for Gateway Nodes

These ports are required for the end-to-end operation of ethoFS including content serving to end users.

```
tcp/80
tcp/4001
tcp/5001
```

If you're unsure whether the ports are in use, you can check using the following commands. All should return nothing back, indicating the ports are not in use anywhere on your server

```bash
sudo lsof -i tcp:80 -s tcp:listen
sudo lsof -i tcp:4001 -s tcp:listen
sudo lsof -i tcp:5001 -s tcp:listen
sudo lsof -i tcp:30305 -s tcp:listen
sudo lsof -i udp:30305 -s udp:listen
```

{% hint style="info" %}
You can host other supported nodes on unit (like Xerom nodes) as long as they do not overlap with the Etho Protocol service ports on the same public IP address.
{% endhint %}

## Installing Frontier

This guide will focus on using Frontier to install Unit.  If you don't like to use Frontier, you can use the information provided and run the equivalent commands documented over at <https://github.com/cryon-io/unit>.

Frontier is installed on the computer which will manage the Etho Protocol node hosting server you rent on the internet or NAT through at your home or business.

1. Download Frontier from <https://unit.cryon.io/#/docs/Frontier/Download>
2. If you're using Windows simply run the Frontier executable. If you're using Linux, make the downloaded file executable and double-click it.

   ![](/files/-LqxNMBkssAD2ISNRM9t)
3. Once you open Frontier, you will create an account and log into it. This account is only stored locally and is specifically for storing your account info and application profile securely on your local computer. If you lose these credentials, you will lose access to your Frontier account; you will have to create a new account and re-add all your servers.

   ![](/files/-Lr1RYGtPvCCgG6BUuSy)
4. Your Frontier profile will be stored in your home directory in a folder called **unit-frontier**. Make sure to save a copy in case you need to move it to a different computer or perform a restore operation.<br>

## Installing Unit using Frontier

Once you have your local Frontier account set and logged into, you're ready to manage your VPS or physical server (server) with it. You will need your VPS/server root credentials to use with Frontier. These credentials will be encrypted by Frontier and will only be used for administering and monitoring your VPS/server. All your nodes will run under their own non-administrative credentials.

1. Log into Frontier with the credentials you established in the previous section
2. Within Frontier, navigate to the **Servers** menu

   ![](/files/-Lr1W8JtRAEesQGGapN5)
3. Select, **NEW SERVER**, fill in all the required info highlighted below and hit **SAVE**

   ![](/files/-Lr1XEV-ZdyTbzzMQQ5M)
4. Once the server is added, you will see **an icon that looks like a rocket ship** to the right on the **Servers** menu pane. Clicking this icon will install Unit on your VPS/server.

   ![](/files/-Lr1ZT-V2z5V1z7rpN5V)

## Adding Etho Protocol Nodes to Unit

Once Unit is installed on your VPS or physical server, it's time to add your Etho Protocol node.

Open Frontier, log into your account, select the server you'd like to use

![Unit New Node Menu](/files/-Lr1bqiif5j0HJBZVQJr)

Make sure to select the right Etho Protocol node type depending on how many ETHO coins you have and the size of your VPS/server.

Once added, expand the new server and take a look at the **Bindings** and **Parameters** area. This is where you will add the public IP address of your VPS/server. If you have multiple public IPs, this is where you will differentiate which Etho Protocol node will get which address

![](/files/-Lr1dYxRb8PuL7iRKkHN)

Below is an example of properly configured parameters/bindings for an Etho Protocol GN.

![](/files/-Lr2N1y19q8Cz7iWN4b7)

**The X.X.X.X:80:8080 binding is only intended for Gateway Nodes. If you have a Masternode or Service Node, you only need the X.X.X.X:30305:30305 and 4001:4001 bindings.**

OK, great, you have your Etho Protocol node added! Now you have to push the configuration over to the VPS/server. You can do this by using the **Push Configuration** button on the top-right side of your screen, within the **Server** menu

![](/files/-Lr28FqDKDph_lIPxdN-)

Pushing the configuration overwrites the **unit.json** configuration file stored on the VPS/hardware server's local storage with the **unit.json** configuration file stored locally on the Frontier computer.

Once you push the changes to the server, it's time to **Setup** and then **Start** the node.

1. Select Setup and wait until Frontier notifies you the process has completed
2. Select Start&#x20;

![](/files/-Lr29mIjU2JmhXn5a-UE)

Your Etho Protocol Unit nodes use the latest bootstrap available from the official project GitHub. This means they will start synchronizing from a blockheight of at least 2,700,000.

You can refresh the status of the node synchronization by clicking on the **refresh** button after expanding the **Stats** pane.

![Blockheight and version](/files/-Lr2CK3eLyFlUp6DyyDk)

Above you can see the current blockheight of the Etho Protocol Unit node as well as its current geth version.  This version should match [the latest available version on GitHub](https://github.com/Ether1Project/Ether1/releases).

## Registering Node on Dashboard

After setting up the Etho Protocol node software on your Unit-enabled server, you need to verify the node and tether it to your account on [the Etho Protocol node website](https://nodes.ethoprotocol.com/). This is to ensure that you control the collateral being used for the node, along with providing information such as node type, and IP address to the Etho Protocol network.&#x20;

1. [Go to the Etho Protocol website to continue](https://nodes.ethoprotocol.com/)&#x20;

   ![](/files/-LRyOZ35cCUNmYXJYbXs)
2. From here select the **node dashboard** and create an account using your E-Mail address and password.

   ![](/files/-LRyOimdH8FTh60Wwcc-)
3. After making an account and logging into the node dashboard, you will see the following screen:

   ![](/files/-LRyOoT6RJEzLhZi-iHv)
4. This screen shows useful information, such as a map displaying the geographical location of your nodes. The table shows what nodes you have, their unique ID numbers and IP addresses. The most important section here is **Node Uptime**. As only when a node has > 95% up-time will it be eligible for payouts, so it's important to keep an eye on the status of your nodes to ensure everything is running properly!
5. In order to add the node to your account, click on the **Add Node** button. This will take you to the following page:

   <img src="/files/-LRyP74R91aDUzNHuFX8" alt="" data-size="original">
6. This page requires you to select the type of node, either **Service Node** or **Master Node**, along with the IP address of the VPS which the node software is running on. (Remember this can be found on the Vultr server page detailed earlier in the guide.)
7. The ETHO wallet address must be the same address which holds the collateral for the node. For a Master Node, this is 15,000 coins, whereas a Service Node only requires 5,000 coins. The balance of the address can exceed the collateral requirement, but you must maintain the minimum balance in order to be eligible for payouts.
8. You can get the address from the windows wallet by using the **copy address** button.

   ![](/files/-LRyPJADKEGcl_idq2lj)
9. After submitting this information, you will need to send a small verification transaction of 0.01 ETHO, this is to verify the balance of the wallet address and to confirm that you have ownership over the address by making a transaction from it. (At this point the 0.01 ETH0 is not recoverable.)

   ![](/files/-LRyPQQXntMl5KmpDyrn)
10. The node should now be present in the dashboard but the node is not verified. This means the node is not eligible for payouts. To verify the node click on the **details** button at the end of the table.
11. The verification address (highlighted in blue) is the address which the 0.01 ETHO must be sent to in order to verify the node.

    ![](/files/-LRyPbdl28CgtPIgtcR0)
12. It is important NOT to send the collateral to this address, only the 0.01 ETHO verification amount, as any funds sent to the verification address are not currently recoverable.

    ![](/files/-LRyPk-FlAaTmQjITFM7)
13. After sending the transaction, it will appear in the windows wallet. Once the transaction is confirmed by the network, copy the **transaction ID** from the windows wallet to the node verification page on the Etho Protocol website.
14. You can find the **Transaction ID** by clicking on the transaction within the windows wallet:

    ![](/files/-LRyPqMrsRbVv2Qp_8BF)
15. After pasting this link into the node page, click the **Add** button. This will take a few seconds to verify and then you will be returned to the node dashboard.

{% hint style="info" %}
The centralized node dashboard will be going away with the introduction of the Decentralized Node Protocol, currently being production tested on the Xerom chain.
{% endhint %}

## Automating Unit Node Updates

Unit has the ability to auto update all your Etho Protocol and Xerom nodes by using the settings listed below.

![Unit maintenance settings](/files/-Lr2TosCgSud1KbAUr9r)

![](/files/-Lr2UBtDvAhI0jsbm05C)

Make sure to always **Push Configuration** to the server after you make changes within Frontier

## Adding Xerom Nodes to Unit

For every public IP & Etho Protocol node on your Unit server you can have 1 Xerom node, as long as the hardware is able to handle the additional load. To install your Xerom node, simply follow along on the [Xerom installation guide on Unit by using Frontier](https://nodes.xerom.org/), starting at the **Add Node** section of the guide.

![https://nodes.xerom.org/](/files/-Lr2ORwqs8YzrgiQPh0g)


# Installing Etho Protocol Nodes with Alis

Alis is a node management solution from https\://github.com/cryon-io/alis/

{% hint style="info" %} <mark style="color:orange;">Please note!</mark> You can setup now an Etho node with any bridged adress ( ERC20 , BEP20 , Main net )&#x20;
{% endhint %}

### Introduction

**Alis** is a virtualization based node management solution which supports several different node projects as well as running generic Docker images and even VMs from other providers. This allows you to take advantage of the full capacity of your VPS or physical server. Alis and its remote management application called Alis go hand-in-hand to bring node management to the masses.

**Alis** itself is a **command line (CLI) utility** which is installed directly on the Linux based VPS or the physical server that will run the Etho Protocol nodes. Alis has its own set of native commands to install, manage and monitor your nodes right from the CLI. You can look up the commands here: <https://github.com/cryon-io/ami.etho.node>.

This guide focuses on using **Alis** to connect to your Alis-enabled VPS or physical server. Alis is a graphical user interface (GUI) management utility for Alis. Alis allows you to manage nodes on your Linux based servers without having to know any CLI commands. You can run Alis on a remote computer or even on the server itself as long as it has a GUI installed and you have console access.

Alis has the ability to **auto-update** your Etho Protocol nodes, **auto heal** them in case the geth or ethoFS services crash and greatly **increase the speed with which you can deploy and manage Etho Protocol nodes**.

![](/files/kFRLHJsPypSfPX8CMQR9)

### Prerequisites

**General Considerations**

Running Alis has some prerequisites. Running multiple nodes has some considerations as well to ensure you have a good experience.

## Prerequisites

### General Considerations

Running Alis has some prerequisites. Running multiple nodes has some considerations as well to ensure you have a good experience.

* **You must run Alis on a fairly new Linux based Operating System (OS) with a recent kernel version**. It will not run on cut rate providers. Some OpenVZ based providers for example run a very old kernel version which blocks your ability to use Alis.
* **You must comply with all Etho Protocol node hardware requirements.** You also must take into account the additional requirements of each virtual node when considering the capacity of your VPS or physical server. If you overload your VPS or physical server, your node software will crash, you may not receive all due rewards and the node network may suffer due to your node's inability to be a fully responsive participant.
* Just like with any server on the internet, with Etho Protocol nodes **it's expected your public IP address will not change**. Renting a VPS server or physical server with statically assigned public IP addresses is highly recommended. Users who want to run a node from home should be aware that each time your IP address changes, you will need to re-setup your server. Your Etho Protocol nodes will use a fairly large amount of data; if you're running them from home, make sure your ISP will not suspend you for this reason.

![Etho Protocol Node Hardware Requirements](/files/mI3zCzgTzHhb0rrEfyxB)

**Public IP Addresses**

There are 2 ways to host a server on the internet. You can connect a server right to the ISP in which case the server gets its own public IP address. You can also use your own router or firewall in which case the router/firewall device has your public IP address(es) and behind it you have computers and VMs which all have private IP address that look like: 10.0.0.0, 172.16.0.0, 192.168.0.0. The technology which allows all your local devices to share the same public IP address is called NAT (Network Address Translation).

**The Etho Protocol node system cares about your public IP address**. You will have to use you public IP if you use NAT for your Etho Protocol node. Using NAT requires you to manually map the publicly required ports for Etho Protocol service to your server's private IP. If you need help configuring NAT, go ahead and hop on the project's Discord server for assistance and general advice about NAT in the #nodes channel.

If you have multiple public IP addresses on your server, you will need to make sure these are all assigned to your OS. Alis is unable to use IP addresses which are not known to the base Linux OS. The secondary IP addresses can be added to your primary network interface, which will have a your primary IP address already assigned. If you need more help with this step, we invite you to hop on over to the project's Discord and ask for help in the #nodes channel

**Service Ports**

Regardless of how many public IP addresses you have assigned to your server or are currently NAT translating on your router, you need to make sure the required TCP and UDP ports are open which are required for the operation of Etho Protocol services. The following ports are required for the proper operation of Etho Protocol services

**Etho Protocol Geth Ports**

These ports are required for the proper operation of the Etho Protocol blockchain.

```
tcp/udp/30305
```

**ethoFS Ports for Masternodes and Service Nodes**

These ports are required for the proper operation of inter-ethoFS communication and synchronization.

```
tcp/4001
tcp/5001
```

**ethoFS Ports for Gateway Nodes**

These ports are required for the end-to-end operation of ethoFS including content serving to end users.

```
tcp/80
tcp/4001
tcp/5001
```

If you're unsure whether the ports are in use, you can check using the following commands. All should return nothing back, indicating the ports are not in use anywhere on your server

```
sudo lsof -i tcp:80 -s tcp:listen
sudo lsof -i tcp:4001 -s tcp:listen
sudo lsof -i tcp:5001 -s tcp:listen
sudo lsof -i tcp:30305 -s tcp:listen
sudo lsof -i udp:30305 -s udp:listen
```

{% hint style="info" %}
You can host other supported nodes on Alis as long as they do not overlap with the Etho Protocol service ports on the same public IP address.
{% endhint %}

### Installing Alis

This guide will focus on using Alis to install Alis. If you don't like to use Alis, you can use the information provided and run the equivalent commands documented over at <https://github.com/cryon-io/ami.etho.node> .

Alis is installed on the computer which will manage the Etho Protocol node hosting server you rent on the internet or NAT through at your home or business.

* Download Alis from <https://github.com/cryon-io/alis/releases>
* If you're using Windows simply run the Alis executable. If you're using Linux, make the downloaded file executable and double-click it.
* Once you open Alis, you will create an account and log into it. This account is only stored locally and is specifically for storing your account info and application profile securely on your local computer. If you lose these credentials, you will lose access to your Alis account; you will have to create a new account and re-add all your servers.![](/files/kwrZaxmqlhElafAgqRsA)
* Your Alis profile will be stored in your home directory. Make sure to save a copy in case you need to move it to a different computer or perform a restore operation.

### Installing Alis

Once you have your local Alis account set and logged into, you're ready to manage your VPS or physical server (server) with it. You will need your VPS/server root credentials to use with Alis. These credentials will be encrypted by Alis and will only be used for administering and monitoring your VPS/server. All your nodes will run under their own non-administrative credentials.

* Log into Alis with the credentials you established in the previous section
* Within Alis, navigate to the **Machines** menu

  ![](/files/vcovmR9epHhr0CLUBauX)
* Select, **Add Machine**, fill in all the required info highlighted below and hit **SAVE**

  ![](/files/lPeuXRRIKt1SBGRO8qyM)
* Once the server is added, click on the name

![](/files/6HxwDhvWvqVN0S0wAnws)

Then the 3 dots

![](/files/LoZveyQba4rH1J8sGki3)

and finally, click **Install alis-cli**

![](/files/MY3pVw1HSVHko65hO5mh)

### Adding Etho Protocol Nodes to Alis

Once Alis is installed on your VPS or physical server, it's time to add your Etho Protocol node.

Open Alis, log into your account, select the server you'd like to use, and **Add New Application**![](/files/EvMgr1jr8sEBa7wyJTyD)

Give it a name, and choose the **etho.node** template, and hit save.

![](/files/hTjX6GekQaWehSZsrsgb)

**---------------------Needs the finishing steps added HERE--------------------------------------**

### Registering Node on Dashboard

After setting up the Etho Protocol node software on your Alis-enabled server, you need to verify the node and tether it to your account on. This is to ensure that you control the collateral being used for the node, along with providing information such as node type, and IP address to the Etho Protocol network.

* Go to the [Etho Protocol Node Dashboard](https://nodes.ethoprotocol.com/) to continue&#x20;

  ![](/files/-MM0vTX49qFYWDpOuQ75)
* From here you can create an account using your E-Mail address and password.

  ![](/files/-MM0vnErweRVV92YPEXd)
* After making an account and logging into the node dashboard, you will see the following screen:

  ![](/files/-MM0yj1y2ynN1qdNa_3n)
* This screen shows useful information. The table shows what nodes you have, their unique ID numbers and IP addresses. The most important section here is **Node Uptime**. As only when a node has > 95% up-time will it be eligible for payouts, so it's important to keep an eye on the status of your nodes to ensure everything is running properly!
* In order to add the node to your account, click on the **Add Node** button. This will take you to the following page:

  <img src="/files/-MM0z2hU8oi_yv0IXCZy" alt="" data-size="original">
* This page requires you to select the type of node, **Gateway Node**, along with the IP address of the VPS which the node software is running on. (Remember this can be found on the Vultr server page detailed earlier in the guide.)
* The ETHO wallet address must be the same address which holds the collateral for the node. For a Gateway Node, this is 30,000 ETHO coins. The balance of the address can exceed the collateral requirement, but you must maintain the minimum balance in order to be eligible for payouts.
* You can get the address from the Desktop wallet by simply clocking on the address.

  ![](/files/-MM13WgzCm4yW8-Cv-IG)
* After submitting this information, you will need to send a small verification transaction of 0.01 ETHO, this is to verify the balance of the wallet address and to confirm that you have ownership over the address by making a transaction from it. (At this point the 0.01 ETH0 is not recoverable.)

  ![](/files/-MM151OxjkG0tn6iGTBH)
* The node should now be present in the dashboard but the node is not verified. This means the node is not eligible for payouts. To verify the node click on the **details** button at the end of the table.
* The verification address (highlighted in blue) is the address which the 0.01 ETHO must be sent to in order to verify the node.

  ![](/files/-MM15Z-ikIa3b8pJG04z)
* It is important NOT to send the collateral to this address, only the 0.01 ETHO verification amount, as any funds sent to the verification address are not currently recoverable.

  ![](/files/-MM1ID0X1aeGeIn-NTqU)
* After sending the transaction, it will appear in the windows wallet. Once the transaction is confirmed by the network, copy the **transaction ID** from the windows wallet to the node verification page on the Etho Protocol website.
* You can find the **Transaction ID** by clicking on the transaction within the windows wallet:

  ![](/files/-MM1LXsLpiF6CDYP1oR6)
* After pasting this link into the node page, click the **Add** button. This will take a few seconds to verify and then you will be returned to the node dashboard.


# Installing Etho Protocol Nodes with Pecunia

Pecunia Platform is a fully automated node hosting solution.

{% hint style="info" %} <mark style="color:orange;">Please note!</mark> You can setup now an Etho node with any bridged adress ( ERC20 , BEP20 , Main net )&#x20;
{% endhint %}

## Introduction

Pecunia Platform is a general crypto node hosting and monitoring solution which focuses on ease of use and budget considerate users. The platform takes care of the entire node setup process and provides you with the IP address as well as the enodeid of the node.  This is all you need to setup your Etho Protocol

Pecunia Platform provides great support to its users and has a stellar rating with the CoinPayments.net system.

## How to Setup an Etho Protocol Node with Pecunia

The setup process is very simple, and we mean very simple.

First you have to create an account over at <https://pecuniaplatform.io/authentication/register>

Once the account is created, login and deposit some crypto to pay for your nodes. The following cryptos are supported:

![Pay for Etho Protocol Pecunia Platform hosting](/files/-M3BxbznKEMZR-qsNIzl)

Paying with Ethereum only takes about 10-15 minutes. The process is self-explanatory. After selecting how much you want to pay and which currently you want to pay with, you'll be taken to a payment page where you'll be given the address where to send payment & track its status. Once your payment has been processed you will see the status change to successful & your balance will be reflected on the billing page.

With the financials out of the way, it's time to setup the node. Don't fret, this is the easiest part!

Go to the home page and follow the instructions in the screenshot below. **First type Etho Protocol in the search field** and **then click in the empty space next to the node you'd like to setup**.

![Select which node you'd like to deploy](/files/-M3ByWnirCR9EQC-O83J)

Next you'll see a new window which confirms the node type you've selected; confirm the information and click **Continue**

![](/files/-M3BytDS14ZWJdoZlnhE)

On the next screen you will be provided general information about the logistics of the process along with an option to select hosting for a longer term. **You will need to have your funding in place before you can proceed with the setup.**

![](/files/-M3Bz6zXutpJ9ZdZJxqA)

Hit **Continue** and let the setup process finish!

![](/files/-M3BzhlnCEql0gyd7hZq)

That's it! After the setup is finished you'll be presented with the IP address you need to use for the rest of the setup process. The steps are the same&#x20;

## Registering Node on Dashboard

After setting up the Etho Protocol node software on your Unit-enabled server, you need to verify the node and tether it to your account on [the Etho Protocol node website](https://nodes.ethoprotocol.com/). This is to ensure that you control the collateral being used for the node, along with providing information such as node type, and IP address to the Etho Protocol network.&#x20;

1. [Go to the Etho Protocol website to continue](https://nodes.ethoprotocol.com/)&#x20;

   ![](/files/-MM0vTX49qFYWDpOuQ75)
2. From here select the **node dashboard** and create an account using your E-Mail address and password.

   ![](/files/-MM0vnErweRVV92YPEXd)
3. After making an account and logging into the node dashboard, you will see the following screen:

   ![](/files/-MM0yj1y2ynN1qdNa_3n)
4. This screen shows useful information, such as a map displaying the geographical location of your nodes. The table shows what nodes you have, their unique ID numbers and IP addresses. The most important section here is **Node Uptime**. As only when a node has > 95% up-time will it be eligible for payouts, so it's important to keep an eye on the status of your nodes to ensure everything is running properly!
5. In order to add the node to your account, click on the **Add Node** button. This will take you to the following page:

   <img src="/files/-MM0z2hU8oi_yv0IXCZy" alt="" data-size="original">
6. This page requires you to select the type of node, either **Service Node** or **Master Node**, along with the IP address of the VPS which the node software is running on. (Remember this can be found on the Vultr server page detailed earlier in the guide.)
7. The ETHO wallet address must be the same address which holds the collateral for the node. For a Master Node, this is 15,000 coins, whereas a Service Node only requires 5,000 coins. The balance of the address can exceed the collateral requirement, but you must maintain the minimum balance in order to be eligible for payouts.
8. You can get the address from the Desktop wallet by simply clicking on the address.

   ![](/files/-MM13WgzCm4yW8-Cv-IG)
9. After submitting this information, you will need to send a small verification transaction of 0.01 ETHO, this is to verify the balance of the wallet address and to confirm that you have ownership over the address by making a transaction from it. (At this point the 0.01 ETH0 is not recoverable.)

   ![](/files/-MM151OxjkG0tn6iGTBH)
10. The node should now be present in the dashboard but the node is not verified. This means the node is not eligible for payouts. To verify the node click on the **details** button at the end of the table.
11. The verification address (highlighted in blue) is the address which the 0.01 ETHO must be sent to in order to verify the node.

    ![](/files/-MM15Z-ikIa3b8pJG04z)
12. It is important NOT to send the collateral to this address, only the 0.01 ETHO verification amount, as any funds sent to the verification address are not currently recoverable.

    ![](/files/-MM1ID0X1aeGeIn-NTqU)
13. After sending the transaction, it will appear in the windows wallet. Once the transaction is confirmed by the network, copy the **transaction ID** from the windows wallet to the node verification page on the Etho Protocol website.
14. You can find the **Transaction ID** by clicking on the transaction within the windows wallet:

    ![](/files/-MM1LXsLpiF6CDYP1oR6)
15. After pasting this link into the node page, click the **Add** button. This will take a few seconds to verify and then you will be returned to the node dashboard.

## Video Guides

[Exlo](https://twitter.com/TeAmExlo) from Etho Protocol has generously provided us with a video guide of how to setup a Pecunia Node along with the [Node Staking Dashboard](broken://pages/-LzoaCMVET7ze_Z-O1hV). Using this method you have no KYC/AML and the option to run your nodes with complete privacy whilst paying with crypto.

{% embed url="<https://bittube.tv/post/6b8f9179-8aea-499d-9caa-a90f6a31cf2c>" %}


# Uninstalling Etho Protocol Nodes

How to quickly disable the Etho Protocol Node services and delete the application data.

### Introduction <a href="#introduction" id="introduction"></a>

Removing the Etho Protocol node services and data is as simple as disabling the services and deleting the application data. When you disable the services, they still exist on your system but they are not executed upon reboot.

{% hint style="info" %}
This guide assumes you installed the Etho Protocol Node software as the ether1node user. If you installed the software as a different user, adjust the instructions accordingly, specifically on the last step replace /ether1node/ with the username for your Etho Protocol user.
{% endhint %}

### Disable Etho Protocol Services

Regardless of which node you're running, executing all the following commands will disable all Etho Protocol Node services.

```
sudo systemctl stop ether1node
sudo systemctl disable ether1node
```

### Delete Application Data

Delete all IPFS data and chain data by executing:

```
rm -rf /home/ether1node/.ipfs/*
rm -rf /home/ether1node/.ether1/*
```

### Reversing The Process

If you've changed your mind and want to run the Etho Protocol Node (regardless of type) after all, you can reverse the whole process and return into a fully synchronized and running node by executing:

```
sudo systemctl enable ether1node
sudo systemctl start ether1node
```

### Checking Etho Protocol Service Status

Whether you've decided to stick with your decision to disable the Etho Protocol Node services or decided to enable them again, you can use the commands below to determine their status.

Make sure the Etho Protocol processes are either running or not running by executing:

```
sudo journalctl -f -u ether1node
```

You should see no records indicating activity if the services are disabled. If you see activity, the services are running.

You can also check the operational status of the Etho Protocol Node services by executing:

```
sudo systemctl status ether1node
```

The first 2 commands are specifically for Gateway Nodes while the last one is common across all Etho Protocol nodes. If the services are disabled, that will be reflected in the status message returned.


# Updating Etho Protocol Nodes

To install the latest version of the Etho Protocol Node software, simply follow the instructions below. Keep monitoring the server for about 15 minutes after the update to make sure all is working pro

{% hint style="info" %}
If your node is up-to-date, you will not see the "Update" button
{% endhint %}

## Updating Nodes

Log in to the node dashboard ( <https://nodes.ethoprotocol.com/> ) and click on the "Update" button for the node.

![](/files/KVHXnzZ90JYVAj1sFyYZ)

Copy the install script for your server type.

![](/files/RoGG9nM3fT22sNBo1DlD)

Login/SSH to your VPS server using the **ether1node** account.

Paste it into the terminal, and the script will do the rest.

{% hint style="info" %}
You might be asked to input the password for ether1node before some of the commands run
{% endhint %}

![](/files/YsdET9r739CFqNtfyhVK)

You can monitor if it runs as expected, and also see the progress if it's syncing with the command \ <mark style="color:purple;">`sudo journalctl -f -u ether1node`</mark>

{% hint style="info" %}
The command will leave a status window running to show you the output of the Etho Protocol Node status. You can stop the output by pressing **CTRL+C**
{% endhint %}


# Upgrade Service Node or Masternode to Gateway Node

Masternode or Service Node to Gateway Node upgrade guide.

### Introduction

This guide will detail the options and considerations when upgrading from having two Master Nodes, into one Gateway Node. This will make use of the new upgrade feature built into the node dashboard, in order to maintain uptime and payouts throughout the upgrade.

### Considerations

* **VPS Specifications** - Gateway nodes require twice the memory and storage requirements compared to a Masternode. This means in most cases the VPS plan will need to be upgraded to run a Gateway node.  (4GB of RAM and 80GB of storage.)
* **VPS Provider** - As a higher spec VPS will be needed (as detailed above) it may be best to check which provider offers the best priced plan. It seems that Digital Ocean is a popular and well priced option at the time of writing.
* **Collateral** - A Gateway Node requires 30,000 ETHO coins compared to the 15,000 ETHO coins needed for a Master Node and 5,000 ETHO coins for a Service Node. This means when upgrading from two Master Nodes, you will likely need to transfer the collateral into a single wallet address.  (This wallet address will need to be the same address as the Master Node which you are upgrading into the Gateway Node, not the one which you are shutting down.)

### Upgrade Process

* You will need to shut down either one, or both of your virtual private servers when combining two Master Nodes into a Gateway Node. This can be done through the VPS providers website. (You will shut down both if you are moving provider, or if you need to reimage the server in order to upgrade its hosting package.)&#x20;
  * You can also change a Service to a Gateway Node using this guide.
* Once you have one VPS running which meets the specifications, you can then remove one of the Masternodes from the dashboard on the Etho Protocol website.
* Now you will have a VPS server running and one Masternode or Service Node remaining on the nodes website. Whether this is a fresh reimage of the VPS or the existing Service Node or Master Node, the instructions you need to follow are the same
  * [Ubuntu/Debian instructions](https://docs.ethoprotocol.com/nodes/installing-uninstalling-etho-nodes/installing-etho-nodes#section-6-debian-ubuntu-server-configuration-a-guide-on-how-to-configure-an-ubuntu-debian-based-serv)
  * [CentOS/RHEL instructions](https://docs.ethoprotocol.com/nodes/installing-uninstalling-etho-nodes/installing-etho-nodes#section-6-debian-ubuntu-server-configuration-a-guide-on-how-to-configure-an-ubuntu-debian-based-serv)
* Once you are running the Etho Protocol Gateway Node on the VPS, you can now upgrade your existing Master Node to the Gateway Node on the Etho Protocol website. Go to **Details** for the Master Node which you are going to upgrade, ad click on **edit node** .

![](/files/5FK7GNrr7FujBDphtiAy)

* You will need to change the node type to **Gateway Node**, and copy the script.
*

```
<figure><img src="/files/TmVPxZFuKIF5aObAYrSz" alt=""><figcaption></figcaption></figure>
```

* Run the script on your VPS, and it will update your node. Your node will also report back to the dashboard with the changes.
* After updating the Node, the uptime should remain at 100% and you should not miss any payouts.

{% hint style="info" %}
Monitor your node for 45 minutes after the installation of the gateway node software to ensure its uptime stays at 100%.
{% endhint %}


# ethoFS Introduction

#### What is ethoFS?

ethoFS is the first example of decentralized application-specific nodes being deployed on the Etho Protocol Network to support a decentralized content and website hosting platform.&#x20;

ethoFS combines the Etho Protocol Masternode/Service Node technology with IPFS (InterPlanetary File System) to deliver decentralized content on a scale not seen before. Users will be able to upload content or a website via a simple user interface to be hosted with ethoFS in a decentralized fashion with their data stored across the node network and securely indexed on the Etho Protocol Blockchain.

#### ethoFS and Application Specific Nodes&#x20;

The first application-specific nodes being deployed onto the network are ethoFS Gateway Nodes. EthoFS is a decentralized website and content storage/delivery platform. The Gateway Node system utilizes additional proprietary security protocols along with the existing IPFS based Etho Protocol Masternode and Service Node network to store, propagate and deliver content to end users. This platform will replace typical centralized web hosting platforms by seamlessly integrating into existing mainstream internet protocols while maintaining all the benefits that complete decentralization brings to the system.

#### Why is Decentralized hosting on ethoFS such a big deal?&#x20;

Immutability, zero censorship and attack/DDoS resistance are just a few of the benefits. Hosting a website or application via a decentralized solution closes most attack vectors and makes if far too expensive for any nefarious actor to attempt attacking a decentralized website or service. This alleviates one of the major problems/costs companies have to deal with today while using a normal centralized hosting service. Several governments and large corporate entities choose to filter and/or censor the content you are able to see. A decentralized delivery of this content could allow for uncensored and freer flowing information.&#x20;

#### What will it cost to use the ethoFS system?

Specific costs have not been decided/determined yet but when we have reached full deployment, a user will be able to upload their content via a decentralized application and pay for the service with ETHO. The cost will be based on the storage space required by the content uploaded and the user will be charged a periodic fee (in ETHO) for as long as they want that content available on the network.


# How to Upload to ethoFS

This guide will show you 2 ways of using ethoFS based on whether you're using MetaMask or your private key

## Introduction

In order to upload data to ethoFS you need a browser with [MetaMask](https://metamask.io). MetaMask allows your browser to user your Etho Protocol wallet in order to sign smart contracts and perform ETHO transactions. Your ethoFS upload is bound to your ETHO address so that you and only you can take down your data.

## Installing MetaMask

To use MetaMask with ethoFS you can install a browser extension from the appropriate app store for your particular browser. For this example, we will be using the chrome version.  You can find the chrome application [here](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en):&#x20;

![Chrome App Store - MetaMask](/files/-LZ5MiNd93qw5asgrWjZ)

After Installing the MetaMask browser extension, you will need to go through the following setup process:&#x20;

1. When prompted, press continue.

   ![](/files/-LZ5N6u0TaEFXKZRKQPk)
2. Create a strong password to use with MetaMask. (You can also import an existing wallet with the seed phrase, to restore an existing account.)

   <img src="/files/-LZ5Ny3XsznFusxueei9" alt="" data-size="original">
3. After creating a password, you will be shown your account image, and then you will be prompted to accept the MetaMask Terms & Conditions along with a privacy notice and a statement on phishing.&#x20;

   ![](/files/-LZ5OUbxK8U3TsynMDLN)
4. Following acceptance of all the various terms, you will be prompted to backup your recovery seed. The page includes information on the best practices to follow when backing up the recovery seed.&#x20;

   ![](/files/-LZ5RAliUB6xQe5XVI4s)
5. You will then need to confirm the backup phrase:&#x20;

   ![](/files/-LZ5RSgNLzhgS757SrKo)
6. You have now successfully installed MetaMask. You will now need to change it from Ethereum to Etho Protocol:

{% hint style="info" %}
Metamask did recently update, and might require ChainID in hex:  **0x14095a**
{% endhint %}

![Add Ether-1 network and make sure you connect to it in the future when dealing with Ether-1](/files/-LqDMJzVaW_IuDoheOpi)

{% hint style="info" %}
Once the custom RPC value is put in above, you will see the ETHO balance of your imported account
{% endhint %}

## Adjust MetaMask Security

MetaMask is configured security by default, requiring you to add all trusted sites manually into the application.  To do this navigate to **Settings > Connections > Add Site > Connect**

![Adding ethofs.com to allowed sites](/files/-LqDNNjME_v5YDeYi82r)

After you add your trusted site, simply reload it, select the Etho Protocol account you want to use or import is as shown below.

## Importing Existing Wallet to MetaMask

This optional section of the guide details how you can import an existing wallet into MetaMask. These steps are applicable to both stock MetaMask and the Etho Protocol version.

1. From the MetaMask application, select the purple circle in the upper right hand corner. Then select 'import wallet', as shown in the screenshot below:

   ![](/files/-LZa_uqdecxBW55jIh7i)
2. Now, depending on the format which your existing wallet is in, you have the choice to pick between a JSON file and a private key string:

   ![](/files/-LZaa7bVzvjvycDfvPiA)
3. You can paste the private key into the field, or upload the JSON file using the file explorer.&#x20;

{% hint style="info" %}
Imported accounts will not be associated with your originally created MetaMask account seed-phrase. Learn more about imported accounts [here](https://metamask.helpscoutdocs.com/article/17-what-are-loose-accounts).
{% endhint %}

## Uploading Data to ethoFS

{% hint style="info" %}
Only one version of MetaMask can be installed when using ethoFS, so be sure to disable / remove one version if you have both installed to avoid running into issues.&#x20;
{% endhint %}

To upload data to ethoFS after having installed, and logged into, one of the versions of MetaMask (As described above) you can go to [ ](https://uploads.ethoprotocol.com/)to get started.&#x20;

1. You will be prompted to make a username, this will register your MetaMask address with ethoFS.

   ![](/files/-LZBsNCHixSKgpilsEZw)
2. After inputting a username, you will be prompted to make a verification transaction through MetaMask.

   ![](/files/-LZBu9E7TkbAEpgaS5n4)
3. After approving the transaction, you will need to wait a short while for ethoFS to setup the user. After this, you will be able to press 'enter' to continue. You will then be logged into ethoFS!

Now you are able to upload data to ethoFS, please see the video tutorial below if you need assistance in using the ethoFS dashboard. Alternatively you can follow the steps in [How to upload a website on ethoFS](/ethofs/how-to-host-a-website-on-ethofs) for a written guide of how the system works.&#x20;

{% embed url="<https://www.youtube.com/watch?v=TnygBDeQ0mU>" %}
How to upload data to ethoFS Video Guide.
{% endembed %}


# How to Upload to ethoFS using our Website Upload App

This guide will show you how to use our Upload App to upload files to ethoFS.

## Step1:

Go to our Website <https://uploads.ethoprotocol.com/> & Click on the Blue "Launch Upload App" tab.

![](/files/-Mf2VerLF2AzzX9Ifb2T)

## Step2:

Enter your "Private Key" (Etho Protocol Key field),then click on Login.

![](/files/-Mf2WdD_H0wP1VTF9PWp)

![](/files/-Mf2XZP1-_QAV7NorLNt)

## Step3:

Select "Upload File" if you want to upload just a file(image,text file,etc) or if you want to upload a Directory,Website,etc  select "Upload Directory".

![](/files/-Mf2Y-OFwmavadc1hp4j)

![](/files/-Mf2Y4eUklPGiCrECupk)

## Step4:

* Write a Name of your Contract
* Set the Duration (100,000 Blocks to max 1M Blocks)
* Select a "File" or "Directory" you wish to upload
* Click on Upload

![](/files/-Mf2ZO9I1K277RjxogqD)

![](/files/-Mf2ZT7ubF6RO2zTVgU0)

After the Upload is done you will see this window with a link to your file & other options.

![](/files/-Mf2_hyKZbE6NLM0FRTC)

To Extend your Contract click on the "Extend Contract" button & select the Duration.

![](/files/-Mf2_leAB1A5hb618mYA)

Enjoy.


# How to Host a Website on ethoFS

This guide will cover how to upload a website to ethoFS, along with setting up the DNS for the website.

## Getting Started

{% hint style="info" %}
Please note that currently only HTML, CSS and JS work on ethoFS web hosting. Server side languages such as PHP are not yet supported.&#x20;
{% endhint %}

## Preparing the Website for Upload

{% hint style="info" %}
All data uploaded to ethoFS is immutable, as such any changes to your website after hosting will require another hosting contract to be created. It is not possible to update an existing contract.&#x20;
{% endhint %}

The screenshot below shows an example folder structure. A parent folder contains HTML files and images along with a sub-folder, containing images for a specific page of the website. (In this case team pictures for the ethoLABS website.) This demonstrates that it is possible to upload a folder structure to ethoFS.&#x20;

![ethoLABS website file structure.](/files/-LYE16C_kn4kgzbcmlbQ)

## Uploading Files to Immutable ethoFS Storage

* Open the browser of your choice and ensure you have unlocked your MetaMask Wallet. &#x20;
* Once you've unlocked MetaMask go to <https://uploads.ethoprotocol.com/>

You will be presented with a page which lists all of your active contracts and some ethoFS stats, scroll down to the **ethoFS Hosting Contracts** section:&#x20;

![ethoFS Hosting Contracts Section](/files/-LYE2kBv0S3rLsQQSIWW)

To start a new hosting contract, click on the green button named **New Hosting Contract**. You will then be presented with the contract setup system:

![ethoFS contract setup system](/files/-LYE3A9F4w7vC2Vvk0P5)

To upload your folder, click on the cloud icon. You will then need to upload the parent website folder, as shown in the screenshot below. (Do not upload the files individually, instead upload the complete folder.)

![](/files/-LYE3ePdh_UgRxFvI25F)

Following selection of the website folder, you will see the previously blank section of the window become populated with the contents of the website folder.  (This is a good opportunity to double check that all the files are present.)

![](/files/-LYE4PZV64ejkTkU35zw)

Then scroll down and enter a contract name. In this example  "ETHOLABS" was used.&#x20;

![ethoFS Contract Name](/files/-LYE4ZWbNedfdfa9-7kB)

You will now need to select the duration of the contract. On ethoFS the contract length is measured in blocks, so select the desired contract duration using the drop down menu, shown in the screenshot below. (In order to estimate the block time, you can multiply the block time by the number of blocks to determine an estimate for the duration of the hosting contract in seconds.)

![ethoFS Contract Duration](/files/-LYE4i36z9Y-ISy77hVH)

Then in the bottom corner you will be able to see how much $ETHO the hosting contract costs:

![ethoFS Contract Cost](/files/-LYE58qZ9d_DnrOvxA0m)

Then click confirm:

![](/files/-LYE5Dbr9TgvIadN4xyb)

A new screen should open - this is the MetaMask transaction approval screen which will look like this:

![](/files/-LYE6mx7gw6Uiohlr5kA)

Click submit and the MetaMask pop-up will close. A new pop-up will appear, showing the status of the payment:

![ethoFS transaction status](/files/-LYE6wcdx8rYiKtyxQBG)

Before the file upload begins, you will need to wait until the transaction is confirmed by the network. You will see a notification from the ETHO Mask Wallet, along with the ethoFS upload status pop-up.&#x20;

![ETHO Mask Confirmed Transaction](/files/-LYE7G5hu1n1Vc8iztQD)

![ethoFS file upload status window. ](/files/-LYE7_uJcV2KJbpFv1D5)

Once the ethoFS upload status reached 100%, your files have been uploaded to the ethoFS network. You will  be returned to the first screen listing your contracts:

![Don't worry about the contract name change - I did that due to a version issue](/files/-LYE7w41_rR_M8nhvZ4s)

Click on the contract, you will be greeted by another pop-up which contains the contract details this is very important, scroll down until you see this:&#x20;

![](/files/-LYE8I5dOBxeGnLXhHwm)

You need to copy the content hash to setup your TLD

## Setting up Your Domain DNS for ethoFS

Step 1: Head over your domain provider and login.

Step 2:  Setup your domain web address for the ethoFS hosted hash you just uploaded. In our case we want to create the subdomain: **goog.** We do this via a domain DNS CNAME record creation which points to: **dns.ethofs.com.** Make your CNAME Record the name of the subdomain you want, in the example it's **goog**.domainnamehere.com.

![CNAME record](/files/-La12IH09QGezCw_PQax)

Step 3: This is where you need the content hash. You're going to need to setup a TXT record called (note: .**goog** matches the subdomain name you chose for your CNAME record above):

```
_dnslink.goog
```

Then inside the TXT record you will need to enter this:

```
dnslink=/ipfs/YOUR_CONTENT_HASH_HERE
```

Once done it should look similar to this:

![TXT record](/files/-LaM0QSUlY35GXw7Sw9v)

Step 4: Visit your website!\
\
Please Note: Your website might not be available immediately as it can take a bit of time for DNS changes to propagate over the internet.

## Congratulations! You just setup your decentralized website on ethoFS!

{% hint style="info" %}
If you require any assistance in using ethoFS, please join our [discord](https://discord.gg/zKWkayA)!
{% endhint %}

{% hint style="info" %}
Due to the immutable (not able to be changed) nature of ethoFS, you need to upload a new version of the website every time you need to make a change, as well as update the txt DNS record.  It's recommended you test all changes locally and confirm everything is 100% working and the way you want it before uploading to ethoFS
{% endhint %}


# How to attach your Website hosted on ethoFS to your own Domain

## Getting a Domain

The domain name is gonna be like 1-15 dollars a year.

In this Example used is **etho**-**nodes**.**cloud** from here:  [https://www.dynadot.com/](https://www.dynadot.com/domain/search.html?domain=etho-nodes.cloud\&search=Search)\
Cost under **$5**.

![](/files/-MSi5_CY4f-moDbZtuBu)

## Step 1:

Once you got yours go on where you registered the website and setup the **DNS** by editing “change name servers”,in this case its [https://www.dynadot.com](https://www.dynadot.com/domain/search.html?domain=etho-nodes.cloud\&search=Search)

Click on **My** **Domains** then select **Manage** **Domains.**

![](/files/-MSlhm1ozu8Am4b_id-8)

## Step 2:

Select your **Domain**.

![](/files/-MSlioQzgerPjEsZYi1d)

Now you will be presented with **DNS** **Settings.**

Click on the **arrow** on the right to open the **DNS** **Settings**.

![](/files/-MSlkKVWAm6CF9Yft_vA)

## **Step 3:**

Here you will add the **Free** **DNS** Service,click on **Add** **Server** to add **2** more,so you have **4.**

Add these 4 below & click on **Save** **Name** **Server.**

* freedns1.registrar-servers.com
* freedns2.registrar-servers.com
* freedns3.registrar-servers.com
* freedns4.registrar-servers.com

Once done it should look like this.<br>

![](/files/-MSln5SyS6Zm5DQT9ucv)

## Namecheap DNS setup

## Step 1:

Go to <https://www.namecheap.com/domains/freedns/>

![](/files/-MSls1gA3yvg4EBaJzkR)

Type your **domain** **name** and complete the checkout process!

Make sure you registered there & have an **Account**.

## Step 2:

* Login to your Account
* Click on Dashboard

![](/files/-MSltHnxyz5MNQrr2EhA)

## Step 3:

Click on the **Manage** option under the **House** **icon**.

![](/files/-MSlvORDd-A2H3a27dsV)

## Step 4:

Next we need to go to the **Advanced** **DNS** tab,so go ahead & select it.

![](/files/-MSlvoOhS8mrBNwStrKJ)

## Step 5:

In Advanced DNS menu you need to **ADD** **NEW** **RECORD**.

![](/files/-MSlxid-RtgercO_32D9)

Add these 2:

* CNAME Record
* TXT Record

Add **CNAME** **Record** & fill the **Host**,**Value** & **TTL**.

* Under **Host** add **www**
* Under **Value** add **dns**.**ethofs**.**com**.
* Under **TTL** select **5 min**

![](/files/-MSlzOUcGD9IvImkrISm)

Next add **TXT** **Record** & fill the **Host**,**Value** & **TTL**.

* Under **Host** add **\_dnslink**.**www**
* Under **Value** add **dnslink=/ipfs/YOUR\_CONTENT\_HASH\_HERE**
* Under **TTL** select **5 min**

![](/files/-MSm1Veo0TpczeoKaccf)

Once you are done it should look like this:

![](/files/-MSm1iVQGEydeSLRE5pA)

Save all changes.

Visit your **website**!\
\
Please Note: Your website might not be available immediately as it can take a bit of time for **DNS** changes to propagate over the internet.

## Congratulations! You just setup your decentralized website on ethoFS attached to your domain! <a href="#congratulations-you-just-setup-your-decentralized-website-on-ethofs" id="congratulations-you-just-setup-your-decentralized-website-on-ethofs"></a>

{% hint style="info" %}
If you require any assistance in using **ethoFS**, please join our [discord](https://discord.gg/zKWkayA)!
{% endhint %}

{% hint style="info" %}
Due to the immutable (not able to be changed) nature of **ethoFS**, you need to upload a new version of the website every time you need to make a change, as well as update the **TXT** **DNS** record.  It's recommended you test all changes locally and confirm everything is 100% working and the way you want it before uploading to **ethoFS**
{% endhint %}


# How to host your own ethoFS dashboard at home on macOS

This guide will teach you how to host the ethoFS Version 2 dashboard on your local macOS machine.

Step 1:&#x20;

Head over to: <https://www.ampps.com/downloads> and download the latest version of ampps

![](/files/-LoR0_OFA8skPPMFSPkK)

Step 2:

Install Ampps by opening the DMG file and copying the AMPPS folder into Applications

![](/files/-LoR11qy2UTQRipCUcLd)

Step 3:

Start AMPPS by opening the AMPPS app.

![](/files/-LoR1GMAotCvP10BtDkf)

![AMPPS might need admin permission simply fill in your password and it will begin launching.](/files/-LoR1PJHLUYZsYLD8kRA)

![AMPPS is running.](/files/-LoR1bkEB5VCBmj0WpDq)

Step 4:&#x20;

Get a copy of ethoFS Version 2 by going to: <https://github.com/Ether1Project/ethoFSV2-Local/releases/download/2.0.0/ethoFS.V2.0.0.zip> and download the zip file, when you're asked where you'd like to save the file save it under the applications/AMPPS/www folder.

![](/files/-LoR5a-USieUrb5530ab)

Step 5:&#x20;

Now push SHIFT+CMD+A and move into the AMPPS/www folder now extract ethoFS V2.0.0 zip file.

![You'll see 2 folders like above.](/files/-LoR6PdXK9UGgs6SzwyI)

Step 6:&#x20;

Open this link in your browser with Metamask installed: <http://localhost/ethoFS%20V2.0.0/login.html>

It is important to note that the latest version on Metamask requires you to whitelist sites by going to settings -> connections and then simply add the site: localhost


# NFT marketplace

NFT marketplace

NFT marketplace

Etho Protocol provides mission critical IPFS storage and 100% EVM compatibility and is therefore a perfect place to build a NFT market platform. On the 2nd of January a first deployment started.

## Why Etho Protocol? <a href="#id-1f57" id="id-1f57"></a>

When looking at market places for NFTs there are different solutions, Opensea, Rarible are just a couple of examples. All of them are battling with large minting costs, centralisation issues and solution fragmentation.

Etho Protocol is addressing this with a neat solution: merging IPFS and blockchain into one. The IPFS network is provided by a work wide cluster of master nodes, where the owners are contributing and get paid for the storage capacity they are providing. As the network has a replication factor of 10x the storage is highly redundant and perfect for Your NFTs.

## Why ethoNFT.com? <a href="#id-1f64" id="id-1f64"></a>

Last year a development team formed to deploy a market place. Aim has been to facilitate Etho Protocol NFT functionality which has been introduced last year by the Atlas upgrade.

The focus when minting an NFT should be full decentralisation, which means:

* The NFT should live on a decentralised blockchain and should be minted before the NFT is offered
* The content should live on a decentralised IPFS
* The content description should also live on a decentralised IPFS

These have been the main design principles for setting up a new market place, also as we see that a lot of market places are not fulfilling those requirements.

## About the market place

### The NFT display

In the below picture You can see the display of a minted NFT&#x20;

![A typical NFT display card](/files/fb7LDnrE0TYFXIMfOq3Z)

It consists of 8 elements as of version V0.0.3 of the market place:

* A NFT image: the NFT image can be of any size, however it will be potentially cropped if it has an aspect ration different then a square. Currently the formats png, gif and jpg are supported. The image can also be animated
* A NFT title: Can consist of alphanumeric letters and special characters like '#', '$', ' ', '-' and '.' Note that if the title is too long it will be truncated and only visible on the NFT info page, once that is developed.
* A NFT description: Can consist of alphanumeric letters and special characters like '#', '$', ' ', '-' and '.' but also of URLs. Note that if the description is too long it will be truncated and only visible on the NFT info page, once that is developed.
* The NFT owner circle will show the correlated account on the blockchain. It uses Etho Protocols blockchain explorer.
* The NFT owned address string will open all NFTs owned by this address.

If we go to the right side of the card there is the Twitter and Like button, You can only like an NFT once.

Last but nt least there is the NFT minting sponsor circle, that points to the entity which potentially has sponsored the minting. This is functionality being under development.&#x20;


# ETHO Wallets Introduction

How you store and access your ETHO is directly proportional to how secure your funds will be. In the fight against malfeasance actors in the crypt scene, we are our own best ally. We need to remain vigilant and steadfast in how we approach every cryptocurrency transaction.

The Etho Protocol project currently supplies two methods for transferring ETHO between users.

1. [Desktop wallet](https://github.com/Ether1Project/Ether1DesktopWallet/releases): Installed on Windows or Linux machines. This wallet generates UTC/JSON files encrypted with passwords that represent the user's accounts.
2. [Web wallet](https://wallet.ethoprotocol.com/):
   1. Accessible via the web at <https://wallet.ethoprotocol.com> (***always check address & certificate***). This wallet generated UTC/JSON files encrypted with passwords that represent the user's accounts. It also allows the user to extract the [Private Key](https://blog.wetrust.io/why-do-i-need-a-public-and-private-key-on-the-blockchain-c2ea74a69e76), which is another way to access the wallet in addition to the UTC/JSON way. The web wallet supports the use of hardware wallets, which greatly enhance user funds protection. To find out how to use the web wallet, see [Setting up ETHO Web Wallet](/wallets/using-ether-1-web-wallet).
   2. You can also use a trusted 3rd party web wallet from <https://www.myetherwallet.com> in all the same ways as the official web wallet above.

{% hint style="info" %}
The recommended method of storing and accessing your ETHO is using a hardware wallet along with the [official web wallet](https://wallet.ethoprotocol.com/)
{% endhint %}


# Using ETHO Web Wallet

Setting up and using Etho Protocol web wallet. Setup Time: 30 minutes

This guide is for the **Etho Protocol Web Wallet**. This wallet is slightly different than the Desktop Wallet. The main difference is you do not need to download the entire ETHO chain and you can not use Smart Contracts. It is like a portable version of your Desktop Wallet.Thus allowing you to access it from anywhere. This guide will walk you through the setup and backup of your Etho Protocol Web Wallet.

Creating a wallet is a relatively straight forward process. However **it is imperative that you save and backup your password, keystore (UTC/JSON file) and private keys**. If you lose them, you will lose access to your ETHO. At present there is no way to reinstate a holders account once access has been lost. It is recommended to back them up on Password Managers, Flash Drives, and a paper copy. Also, no one at Etho Protocol will ever ask you for your password, private key or Keystore File nor should you ever share it.

**It's very important to also safeguard the confidentiality of your private key and keystore file. If someone else gets this information in an unencrypted format, your ETHO may be stolen.**

### Introduction

The Web wallet allows you to obtain an ETHO address without having to download the entire ETHO chain. It has the same functionality as a desktop wallet. Please visit the Discord channel if you have any questions, comments or concerns.

### Creating a New Wallet

1. Go to <https://wallet.ethoprotocol.com/>.  Review the warnings about using the ETHO wallet online and familiarize yourself as best you can.
2. Click on **WALLET** at the very top of the page. You will be directed to the New Wallet page. ![Password.PNG](https://www.dropbox.com/s/dxxm1qcbg12qqx1/Password.PNG?dl=0\&raw=1)
3. Enter a strong password. Click **Create New Wallet** \
   ![Password.PNG](https://www.dropbox.com/s/dxxm1qcbg12qqx1/Password.PNG?dl=0\&raw=1)
4. Save your Keystore File. Click on **Download your Keystore File**. ![Download Keystore.PNG](https://www.dropbox.com/s/z7ot9ib7n77tblu/Download%20Keystore.PNG?dl=0\&raw=1) \
   This will download the Keystore File to your PC. It is a file that starts with **UTC--201...**\
   This file is very important as it holds an encrypted version of your wallet's Private Key. Please back it up by both digital and manual means.
5. Ensure the location it is saved to and click *Save*.
6. Now Click on the **I understand. Continue.** button.
7. You will now see your **Private Key** \
   ![1Private Key.png](https://www.dropbox.com/s/pacnqbsb8uvoixx/1Private%20Key.png?dl=0\&raw=1) \
   Save it somewhere safe, save it somewhere safe, write it down and then save it somewhere safe again. **It cannot be stressed how important it is to not lose this Private Key. No Private Key, no ETHO**. Use the guides on the right side of the wallet page if required. You can print a copy by clicking on **Print Paper Wallet** \
   ![1Print private key.png](https://www.dropbox.com/s/9yk9p3jqk0eb3du/1Print%20private%20key.png?dl=0\&raw=1) \
   You may now click on **Save Your Address**
8. Now you can access your wallet. There are several ways to access your Web Wallet. However, **for the first time, you must access your wallet with the Keystore File**.

### **Opening your** Etho Protocol **Wallet With Keystore File**

1. Click on **Keystore / JSON File** from the left column.
2. Click on the **Select Wallet File** Button.
3. Choose the **UTC--201...\*** file from your File Explorer location and click  **open**.
4. Enter the password you created in step 3 above and click **unlock**

   ![Open with Keystore.PNG](https://www.dropbox.com/s/l1lw1zeaj0bumce/Open%20with%20Keystore.PNG?dl=0\&raw=1)

   If any information is incorrect the wallet will not allow you to proceed. Simply review the information and re-enter as required.

   Wait a few moments and you will be able to see all your wallet information by scrolling down.

   ![Keystore Wallet.PNG](https://www.dropbox.com/s/19m8ylyl1eafdm3/Keystore%20Wallet.PNG?dl=0\&raw=1)

   Get in the habit of saving as much information as you can.  Now would be a good time to create a simple Text document with all the information you now know about your wallet. Copy the wallet address, Private Key, Keystore Location, and what have you.  Save it in a password protector, on some USB flash drives, write it down and print it out.

   Simply close the window on your browser to exit.

### **Opening your** Etho Protocol **Wallet With Private Key (Not Recommended)**

1. Click on \*\*View Wallet Info at top of page.
2. Click on **Private Key** from the left column.
3. Copy then Paste your private key into the open box.
4. Click **Unlock**.

   ![1open with private key.png](https://www.dropbox.com/s/ag8z238yf5eun4l/1open%20with%20private%20key.png?dl=0\&raw=1)
5. Again you can see the same information as opening with the Keystore.

   Simply close the window to exit the wallet.

Privacy is of utmost importance with digital currencies. If someone gets your private key, your funds will be compromised. Keep all wallet information safe and secure. Also you can never have too many backups.

### Checking Your ETHO Balance

Checking your balance is as easy as knowing your wallet address!

1. Go to [https://wallet.ethoprotocol.com/#view-wallet-info](https://wallet.ether1.org/#view-wallet-info)
2. Select **View with Address Only**

   ![](/files/-LSSKRrHjAyTp2HG1StH)
3. Paste your wallet address and click View Balance

   ![](/files/-LSSKiVXnGNzptrAOtn3)

{% hint style="info" %}
If the View Balance button does not appear, this means your wallet address if improperly formatted.
{% endhint %}

> (Original content contributed by [Etho Protocol Discord Community](https://discord.gg/eQ9FgSp) member @Ulufulu#0498.)


# Using Desktop Wallets


# Using Windows ETHO Wallet

The new Etho Protocol wallet is built from the ground up to do things right!

### **Introduction**

This guide includes information on the Etho Protocol desktop wallet, created by community developer @Taegus#5853. While this wallet is still in development, it is still a significant improvement over the current desktop wallet in terms of features, stability and user interface. This guide will cover how to install the wallet along with how to use it.

### **Installing** Etho Protocol **Wallet**

The wallet can be downloaded [here](https://github.com/Ether1Project/Ether1DesktopWallet/releases). Unzip the archive into any folder and run the

You may be prompted with the message below, click on ‘show more info’ and then ‘Run anyway’ in order to proceed with the installation process.

![](/files/-MFVSZwRv8ZXVJOIwYi2)

### **Using** Etho Protocol **Wallet**

After loading up the wallet you will see the window displayed below. Down the left hand side the different tabs can be selected, while on the bottom of the window it displays the sync progress with the blockchain.

![](/files/-MFZ3ZhwhwBlKcz29Gk4)

If you have not previously installed a Etho Protocol desktop wallet, you will need to create an account. To do this click the ‘New Address’ button at the top of this window. This will prompt you to set a password associated with the account, which will be required to send transactions from that address. Once an account has been created you can rename it, by clicking on the ‘edit’ button.

![](/files/-MFZ5zTPpDU-x0Em2Fix)

To send ETHO from the wallet, use the second option on the menu. This will present the above window, where you can select the following:

* Which account to debit the funds from.
* Which address to send the funds to.
* The amount of ETHO to send. (Along with the option to send the entire balance of the account.)

After filling in the details and clicking on the ‘send’ button, you will be prompted with the following window:

![](/files/-MFZA0OsZ7u2ITDx2zoU)

This window shows the transaction details, to allow you to double check the addresses and amount. It also displays the transaction fee required to make the desired transaction, along with a password field to verify an authorized person is sending the funds. Clicking the ‘confirm’ button will send the transaction to the network.

The next window shows the transaction history associated with all the addresses in the wallet. This is able to show transactions between addresses in the wallet, along with incoming and outgoing transactions. This feature is useful in keeping track of node payments.

![](/files/-MFZPovGyHAqfmhJqWGK)

The settings page allows to clear data associated with the wallet. This is useful during the troubleshooting process, as it can force the wallet to re-sync with the blockchain, if it is having issues.

![](/files/-MFZPjS_JVZM-MLyqSKb)

> (Original content contributed by Etho Protocol Discord Community member @Joseph#2037.)


# Deleting Desktop Wallet Chain Data

Deleting Etho Protocol chain usually resolves wallets not syncing or not connecting to the network.

Some users have reported their Etho Protocol wallets have stop syncing. Usually the reason behind this is a corrupted chain. Users can easily remedy this by following this guide to delete the chain data and resync their wallets. Doing this will force the wallets to download a full, healthy version of the Etho Protocol blockchain.

{% hint style="info" %}
Regardless of whether you use the [original Etho Protocol desktop wallet](broken://pages/-LSCaVK3rklcUe4Yx7gB) for Windows or the [new wallet by @Taegus](/wallets/using-desktop-wallets/using-windows-etho-beta-wallet), the location of the chain data is the same as well as the process of clearing it.
{% endhint %}

## Windows

**Fastest and easiest is to delete from within the wallet.**\
**Under "Settings":**

![](/files/-MjM7S_fxJk7_tYJkvrX)

###

Manually:

### Step 1 - Locate Chain Data Folder

{% hint style="info" %}
Before beginning this process, make absolutely sure you don't have the Etho Protocol wallet running. The surest way to ensure it is to reboot your computer and start with the steps below.
{% endhint %}

Locate the **chaindata** folder. By default this will be located in `C:\Users\[username]\AppData\Roaming\Ether1\geth`

*`*alternatively`*\
*`C:\Users\[username]\AppData\`**`Local`**`\Ether1\geth`*

Replace `[username]` with the name of the user you're currently logged in as. The username will show up on the top-left of the start menu.

![Example chaindata folder found within the Ether1\geth folder](/files/-M5-DB5F0CRdle02KeLF)

### Step 2 - Delete chaindata

Delete the folder **chaindata**. This will clear the blockchain and enable you to resync your wallet.&#x20;

{% hint style="info" %}
**DO NOT DELETE ANY OTHER FILES BESIDES ''CHAINDATA''**

**DOING SO MAY RESULT IN THE LOSS OF ACCESS TO YOUR ETHO.**
{% endhint %}

### Step 3 - Launch the Etho Protocol Wallet

Relaunch your Etho Protocol wallet. You will not need to enter any keys, but it may take a while depending on your computing setup.

## macOS

### Step 1 - Locate Chaindata Folder

{% hint style="info" %}
Before beginning this process, make absolutely sure you don't have the Etho Protocol wallet running. The surest way to ensure it is to reboot your computer and start with the steps below.
{% endhint %}

Locate the **chaindata** folder. By default this will be located in

&#x20;`~/Library/Ether1/geth/chaindata`

Open a **Finder** window and navigate to **Go > Go To Folder** on the menu bar at the top

In the address bar input the location highlighted above in gray

![Example chaindata folder found within the  \~/Library/Ether1/geth/chaindata folder](/files/-LbPUCOtqnddYepaTOes)

### Step 2 - Delete Chaindata Contents

Select all objects within the **chaindata** folder and **delete** them.

### Step 3 - Launch the Etho Protocol Wallet

Relaunch your Etho Protocol Desktop wallet. You will not need to enter any keys, but it may take a while depending on your computing setup.

> Original content provided by Etho Protocol discord community member @almightyrosenberg#3994


# Backup your desktop wallets

This will show how  to backup and restore your keystore files from the windows desktop wallet

Backing up your wallets is a fairly easy process. \
By pressing the **Export Accounts** button, it will ask you where you want to save it.

![](/files/-MPxNRdn0kfIIWyUo1R8)

Choose a safe location to save it, and your done!

![Save your backup](/files/-MPxRwydb_2s28sf30k3)

{% hint style="info" %}
&#x20;Some users have reported some issues backing the wallets up. Follow the instructions below to manually back up your wallets
{% endhint %}

Locate the **Keystore** folder and copy the files to a secure location.\
&#x20;By default this will be located in \
`C:\Users\[username]\AppData\Roaming\Ether1\keystore`

![Default location](/files/-MPxPH6zv38-0syz7Na0)

*\*alternatively*

`C:\Users\[username]\AppData\`**`Local`**`\Ether1\keystore`

![Alternative location](/files/-MPxPLCPg4Sx8Cd34Yb0)

## Importing your desktop wallets

Importing up your wallets is just as easy. \
By pressing the **Import Accounts** button, it will ask you where your backup is.

![](/files/-MPxQp5v98wEf735vPMK)

Navigate to your backup file, select it, and press open.

![](/files/-MPxQt6vhESeTFYnuDml)

And thats it. Your backup is now imported!


# Setup MetaMask For Etho Protocol

## Installing MetaMask

To use MetaMask with ETHO (Main network) or ETHO HC (Test network) you can install a browser extension from the appropriate app store for your particular browser. For this example, we will be using the chrome version.  You can find the chrome application [here](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=en):&#x20;

![Chrome App Store - MetaMask](/files/-LZ5MiNd93qw5asgrWjZ)

After Installing the MetaMask browser extension, you will need to go through the following setup process:&#x20;

1. When prompted, press continue.

   ![](/files/-LZ5N6u0TaEFXKZRKQPk)
2. Create a strong password to use with MetaMask. (You can also import an existing wallet with the seed phrase, to restore an existing account.)

   <img src="/files/-LZ5Ny3XsznFusxueei9" alt="" data-size="original">
3. After creating a password, you will be shown your account image, and then you will be prompted to accept the MetaMask Terms & Conditions along with a privacy notice and a statement on phishing.&#x20;

   ![](/files/-LZ5OUbxK8U3TsynMDLN)
4. Following acceptance of all the various terms, you will be prompted to backup your recovery seed. The page includes information on the best practices to follow when backing up the recovery seed.&#x20;

   ![](/files/-LZ5RAliUB6xQe5XVI4s)
5. You will then need to confirm the backup phrase:&#x20;

   ![](/files/-LZ5RSgNLzhgS757SrKo)
6. You have now successfully installed MetaMask. You will now need to configure MetaMask so that it knows how to access the Etho Protocol blockchain. To do so, open the MetaMask extension; click the circle in the top-right corner and scroll down to click the "settings" link; scroll down to "Networks" and click the button to add a new network. It will open a new browser tab and ask you for the following information for the main net:

   \
   Network Name: ***Etho Protocol***  \
   NEW RPC URL: <https://rpc.ethoprotocol.com/>\
   Chain ID: ***0x14095a*** \
   Currency Symbol: ***ETHO*** \
   Block Explorer URL: ***<https://explorer.ethoprotocol.com/>***

{% hint style="info" %}
Etho Protocol's Chain ID is: **1313114**\
Metamask did recently update, and might require ChainID in hex:  **0x14095a**
{% endhint %}

![](/files/EWqEIC3MXP1PIeJsxAVq)

{% hint style="info" %}
Once the custom RPC value is put in above, you will see the ETHO balance of your imported account
{% endhint %}

***If you want to use the ETHO hypercube test network you want to set it up with the following parameters***\
\
Network Name: ***Etho HC Testnet***  \
NEW RPC URL: [https://testnetrpc.ethoprotocol.com/](https://rpc.ethoprotocol.com/)\
Chain ID: **27292**\
Currency Symbol: ***ETHO*** \
Block Explorer URL: \_\*\*<https://testnetexplorer.ethoprotocol.com/**_\\>
&#x20;<br>

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

## Importing Existing Wallet to MetaMask

This optional section of the guide details how you can import an existing wallet into MetaMask. These steps are applicable to both stock MetaMask and the Etho Protocol version.

1. From the MetaMask application, select the purple circle in the upper right hand corner. Then select 'import wallet', as shown in the screenshot below:

![](/files/-M_CydkPAFanTijMzk3c)

![](/files/-M_CyjU_0ZjBDxroDZAD)

1. Now, depending on the format which your existing wallet is in, you have the choice to pick between a JSON file and a private key string:

   ![](/files/-M_Cz-27BHUIborkgGRj)
2. You can paste the private key into the field, or upload the JSON file using the file explorer.&#x20;

{% hint style="info" %}
Imported accounts will not be associated with your originally created MetaMask account seed-phrase. Learn more about imported accounts [here](https://metamask.helpscoutdocs.com/article/17-what-are-loose-accounts).
{% endhint %}

## Adding Wrapped ETHO to MetaMask

This optional section of the guide details how you can add Wrapped ETHO into MetaMask. These steps are applicable to both stock MetaMask and the Etho Protocol version.\
\
To add it automaticly, the easiest way is to go to [CoinMarketCap ](https://coinmarketcap.com/currencies/ether-1/)and just click on the MetaMask icon. \
Make sure you are on the Ethereum Network.

![](/files/-MbAO8R2cE-WJcoLHh8d)

It will then add it for you, and you are done. It can be shown and managed under the Assets tab.

![](/files/-MbAOc14H697RYqhwEG2)

You can also add it manually by going to the Assets tab and click on "Add Token"

![](/files/-MbAP3yOJ-fNfqZd4Qm7)

Then click on "Custom Token" and paste in our contract address for the Ethereum network: [0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096](https://etherscan.io/token/0x0b5326Da634f9270FB84481DD6F94d3dC2cA7096)

![](/files/-MbAPqStRinUR1RmRq9O)

![](/files/-MbAPEVLvWlBNwhHewPv)

After clicking "Next" and "Add Tokens" your Wrapped ETHO will show up under the "Assets" tab.

{% hint style="info" %}
Same process for Binance Smart Chain\
([0x48b19b7605429aCAa8Ea734117F39726a9AAb1f9](https://bscscan.com/token/0x48b19b7605429aCAa8Ea734117F39726a9AAb1f9) is the contract address for the BSC Network)
{% endhint %}

{% hint style="info" %}
Use our bridge to wrap/unwrap ETHO \
<https://bridge.ethoprotocol.com/>
{% endhint %}


# Wrap/Unwrap ETHO on the ETH/BSC/BASE network using the bridge

Bridge guide applies to both BSC and ETH network

## SWAP **ETHO** to *Wrapped ETHO* on the Eth/Bsc network.

Use our bridge here: <https://bridge.ethoprotocol.com/>  to transfer **ETHO** to ***Wrapped*** ***ETHO.***

![](/files/-MbF7s6y7_-CDg8BognP)

Make sure you are using the **Etho Protocol** Network in Metamask to **SWAP**.

![Please note it will take a few minutes.](/files/-MbF7zc-MgF3vnwmkrvh)

To unwrap **Wrapped** **ETHO** back to **ETHO** on the main chain, do the same process, but choose the **ETH or BSC Network** when using the bridge.<br>

How to setup Metamask correctly for The Etho Protocol network can be found here: <https://docs.ethoprotocol.com/swap-etho-to-from-wrapped-etho-on-the-ethereum-network>

{% hint style="info" %}
The same process applies for both the BSC and ETH Network
{% endhint %}


# Trading ETHO on Turtle Network

The Turtle Network DEX uses Gateways provided by individual operators to do conversions for each market pair.

## Frequently Asked Questions

### What is the Turtle Network (TN) DEX?

The Turtle Network DEX can be reached at <https://client.turtlenetwork.eu>. To put coins on the exchange, users send them through Gateway Servers which are operated by Turtle Network or by KYC compliant community members of each respective project. The coins are reflected on the exchange as Turtle Network Tokens and the user is able to trade them with any of the other coins/tokens on the exchange. Once the user is finished trading, the coins can be taken out of the TN DEX, again by the use of the Gateway Server of whichever coin is being withdrawn.

### How exactly does the TN DEX work?

In order to get a good mind model, we need to lay out some groundwork and mention that TN is a SmartContract platform which also supports creating tokens. Using these tokens, the TN DEX is able to represent each crypto, like ETH and LTC using a token on the TN. While users trade tokens of their cryptos, the Gateway Servers hold the coins backing each coin. For example, [the Etho Protocol Gateway Server](https://kgbconcepts.network/ether1totn.html) holds all ETHO in its hot and cold wallets while the users of the TN DEX trade the Etho Protocol tokens on the exchange. Once a user decides it's time to take the ETHO coins out of the exchange, they do so by once again using the Etho Protocol Gateway Server on the way out to convert the TN Etho Protocol tokens to ETHO.

*For example, here's a simplified workflow that shows how the TN DEX works:*

1. $ETHO >>>> \[[use Etho Protocol gateway server](https://kgbconcepts.network/ether1totn.html)] >>>> tETHO
2. tETHO >>>> \[trade to $TN] >>>> $TN
3. $TN >>>> \[trade to tWAVES] >>>> tWAVES
4. tWAVES >>>> \[[use WAVES gateway server](https://wavesgateway.blackturtle.eu/static/#/address-factory)] >>>> $WAVES

{% hint style="info" %}
*Legend:*\
\
&#x20; $ETHO -- Native coins on the Etho Protocol blockchain\
&#x20; tETHO -- Etho Protocol token on Turtle Network\
&#x20; $TN -- Native coins on the Turtle Network\
&#x20; tWAVES -- WAVES token on Turtle Network\
&#x20; $WAVES -- Native coins on the WAVES blockchain
{% endhint %}

## Trading ETHO on Turtle Network

### Register for a TN Address

Go to the exchange's website, **register for a Turtle Network (TN) address, save the TN address for later** reference.  This will be the destination address on the Etho Protocol Gateway Server.

![Your TN Address highlighted above](/files/-M0-khnI9-UK9IURPBGv)

### Convert your ETHO using the Gateway Server

Now you will use the Etho Protocol Gateway Server at: <https://kgbconcepts.network/ether1totn.html> to convert your ETHO coins into tETHO tokens.

**Fill out the ETHO address** you'll be sending your coins from **on the left and the TN wallet address you saved from earlier on the right** as the destination address and hit the **Establish Tunnel** button.

![Establish Etho Protocol Gateway tunnel](/files/-M0-nx7VlSiIT3bDoacV)

The tunnel is now established, send your ETHO coins to the gateway's address:&#x20;

```
Gateway ETHO Address: 0x7430c7918a133b3EEa826164D071376662140BaB
```

{% hint style="info" %}
Take a look at the fees for using the service to make sure you're sending enough coins to account for it.

**Be aware that tunnel sessions are one time use operations. You will need to establish a new tunnel session after each successful ETHO deposit.**
{% endhint %}

![Etho Protocol Gateway Fees](/files/-M0-mQKOVfO_WQ3fi1R8)

### Convert your ETHO to other coins on the TN DEX

After about 3-5 minutes after deposit, the **Etho Protocol token will be available on the portfolio screen**

![TN Etho Protocol Token](/files/-M0-pN3bNeEAKVdu9LYa)

You can now use the exchange screen to **trade your ETHO for TN or any other coin** being offered.

![Trade ETHO against TN/BTC/LTC/WAVES/etc.](/files/-M0-qD4hzDAMu8P2PIH6)

### Withdraw your ETHO from TN DEX

Let's say you want to withdraw your TN DEX Etho Protocol tokens by converting them back to $ETHO and sending them back to your wallet. The process is even simpler than depositing your $ETHO to the exchange.

From within the **Portfolio** screen select the **Transfer** button next to the Etho Protocol token

![Click on Transfer](/files/-M0-r7L65yxK5Q8CqG7t)

Fill out the **Etho Protocol Gateway's TN Address in the first field** and **put your ETHO wallet address in the attachment field**, then hit **Transfer** and then **Confirm**

```
Gateway TN Address: 3JsqaubgtrcbxT77wRrVkRdgbhMMCZEyXEx
```

![Withdraw ETHO to your wallet](/files/-M0-sE1n_HQj1AKiWEg4)

### Checking Transaction and Withdraw History

Use the History screen to keep track of your trade history as well as any deposits and withdrawals.

![](/files/-M0-sxundf6lMED3xjp5)


# How to use Uniswap to provide liquidity | ETHO - ETH

## **Connect your wallet**

**Step 1:**

Open Metamask, and select "Ethereum Mainnet" from the Network Dropdown.

![](/files/-MShYhx-KNMyoI8yg1ck)

**Step 2:**

Click on "Connect Wallet" & select "Metamask".

![](/files/-MShT1LMUAZK4BWH04ad)

If you do not do this then you may see this error "Wrong Network" when trying to use Uniswap.

![](/files/-MShRlGciDhXyttB4pDJ)

## **Add liquidity to a pool (we will add to the ETH / ETHO pool)**

**Step 3:**

1. The pool is about 50/50 **ETH** and **ETHO** so consider this before choosing how much to swap. (be sure to leave atleast some **ETH** in your wallet as it is used for gas fees.
2. Click on pool > Add Liquidity

![](/files/-MShUFN-z-ezxqoOoH9t)

3\. Confirm and pay for the transactions. Be sure to also click 'Supply' after the swap is 'Approved' to put your pair in the pool to provide liquidity. After you should see something like this showing you your pool allocations.

Great! Now you are providing liquidity to the **ETHO** **ETH** pair on Uniswap.

## SWAP **ETHO** to *Wrapped ETHO* on the Ethereum network.

Use our bridge here: <https://bridge.ethoprotocol.com/>  to transfer **ETHO** to ***Wrapped*** ***ETHO.***

![](/files/-MbF7s6y7_-CDg8BognP)

Make sure you are using the **Etho Protocol** Network in Metamask to **SWAP**.

![Please note it will take a few minutes.](/files/-MbF7zc-MgF3vnwmkrvh)

[Wrapped ETHO (ETHO)](https://info.uniswap.org/pair/0x5886c7617b06b710b1333814e4e5476eb2ff6926)


# Introduction to ETHO mining

ETHO can be mined using a variety of hardware gear and mining software. The Etho Protocol blockchain network uses the popular [Ethash](https://github.com/ethereum/wiki/wiki/Ethash) Proof-of-Work (PoW) algorithm (algo) for consensus generation. The Ethash algo has design protections in place against [ASIC](https://www.digitaltrends.com/computing/what-is-an-asic-miner/) mining, which encourages commodity hardware mining from small time miners, which in turn decentralizes the consensus reaching mechanism.

When the time comes, and the Etho Protocol team and community determine it to be necessary, we will look at further protecting against any improvements in Ethash ASIC mining by potentially modifying the PoW algorithm or changing to a completely different algorithm all-together that further encourages smaller miners and participants to join the network.

{% hint style="info" %}
When deciding which Etho Protocol pool to use for your mining, keep in mind that it's ideal for hashrate to be spread over as many pools as possible. You can find a list of Etho Protocol pools at <https://miningpoolstats.stream/etho>
{% endhint %}

####

####


# SMOS ETHO Mining Guide

How to mine ETHO using the Simple Mining OS.

### Introduction

This guide will cover the setup on [SMOS](https://simplemining.net/) in order to mine Etho Protocol. **This guide will not cover how to install SMOS itself, but rather how to configure it, in order to mine Etho Protocol.**

In order to setup Etho Protocol mining on SMOS  you need to have:

1. A mining rig running the Simple Mining Operating System.
2. An Etho Protocol Wallet address. (Please see [Setting up ETHO Web Wallet](/wallets/using-ether-1-web-wallet))

{% hint style="info" %}
When deciding which Etho Protocol pool to use for your mining, keep in mind that it's ideal for hashrate to be spread over as many pools as possible. You can find a list of Etho Protocol pools at <https://miningpoolstats.stream/etho>
{% endhint %}

### Setup

1. When you are on the **Simple Mining dashboard**, click on the **Group Config** button on the menu.
2. Then select the **Add Group** button at the top of the page.

   ![](https://lh5.googleusercontent.com/6HLKxHB-YmzGy5bZn4-_a9g8y2MhaN75okF1UfmpQIzasHknED7hNINJxb8FyoPqFk8j0T-VE2EnnjiPvJD_NuDQJjaEiXucg_hS2h75JXPGxDHb1vZchWRu3XpdHuW3qLUeRGb4)
3. Now select a miner compatible with the **Ethash / Dagger algorithm**. At the time of writing, the miner which offers the best performance is the Claymore-Eth miner. Select the latest version.

   ![](https://lh3.googleusercontent.com/5iOEhYICCp8Xiy4dkEoE-lv4NNBhkVhMBGw_U7xZCTRNs1XjfjJhvoUvGJGrsAxHS_l1y287T6blAGF8BqU2r2YGs6R2QJb_jMUdWPoLpwq2cGhK93HzekPjLP5QZ5liORH7rx68)
4. You now need to **name the group**, its best to give it a name so you can easily identify it from your other configurations. Such as **Etho Protocol Miner** or something similar. The group description section can be left blank.

   ![](https://lh3.googleusercontent.com/ygH2wbqh65K3wA4Qavsn7d0H3KbqzpDXb_KYevQZAqP_vQ10SUHmO2No8mylPGy1pfd0fObyLrA0lj8V33YqhOs_CfFwBlx-F3fivJI0ZQg6eSl7xQLt8vxSH3dgQ8teQzwKn5sA)
5. Next, you need to enter a **configuration string** for the miner. This includes information to allow the mining software to connect to the mining pool. This is an example string which I have set up for mining on rebellion pool, but the values can be changed for any other pool.
   1. **-epool** = Pool Address and port
   2. **-ewal** = Wallet Address
   3. **-eworker** = wallet name\
      (See Figure 1 for an example connection string)
6. The configuration string also includes information about the wallet address and worker name, which will need to be changed to your address.
7. Now click the ‘Add Group’ button to confirm the information and to save the configuration. You are now able to select this mining profile and begin mining!
8. You can now go to the mining pool (In this case [EthoDreamPool](https://ethodream.exlo.tech/)) and search for your wallet address to find your mining information. It will take a number of hours for the hash rate on the pool to average out.

{% code title="Figure 1: Connection String" %}

```
-epool stratum+tcp://ethodream.exlo.tech:8004 -ewal 0xYour_Wallet_Address -eworker Your_Rig_Name -epsw x -allpools 1 -gser2
```

{% endcode %}

> (Original content contributed by [Etho Protocol Discord Community](https://discord.gg/eQ9FgSp) member @Joseph#2037.)


# Windows ETHO Mining Guide (TeamRedMiner)

A simple guide detailing how to mine ETHO on Windows using the TeamRedMiner.

### Introduction

This guide will cover how to mine ETHO on a windows based system through the TeamRedMiner program. This guide will detail both the installation and setup process of the miner.&#x20;

### Installation

1. You can download the latest version of TeamRedMiner [here](https://github.com/todxx/teamredminer/releases).
2. Once downloaded, extract the folder to a suitable location on your computer. (Such as a mining folder or onto the desktop.)

{% hint style="info" %}
Be sure to check back frequently to get the latest version of the miner, as updates often  increase your hash rate, as the miner becomes better optimised.&#x20;
{% endhint %}

### Miner Setup

1. Within the extracted folder, right click on the **start.bat** file and edit with notepad.  (If a start.bat file is not present in the miner folder, simple create one by creating a new text document, and renaming it appropriately, including the file extension.)

2. Within this batch file, you can set the various parameters which the miner uses, including:

   1. Wallet address.
   2. Worker Name.
   3. Worker Password.
   4. Pool URL / Port.&#x20;
   5. Max Temperature.&#x20;

3. Below there is an example batch file, for more arguments / detail on setting up a batch file, please reference the bitcoin talk thread. There are also a number of useful youtube tutorials on the subject.&#x20;

```
set GPU_MAX_ALLOC_PERCENT=100
set GPU_SINGLE_ALLOC_PERCENT=100
set GPU_MAX_HEAP_SIZE=100
set GPU_USE_SYNC_OBJECTS=1

teamredminer.exe -a ethash -o stratum+tcp://ethodream.exlo.tech:8002 -u 0x5af998f979342d506886e87b9787a80fbbf88706 -p x
pause
```

{% hint style="info" %}
Remember to save the batch file before closing it down, or you will lose your configuration information.&#x20;
{% endhint %}

### Exceptions

Before running the batch file, it is best to check that the program has the correct permissions to run.  To do this, click on the  **teamredminer.exe** file, go to properties, and ensure the tick box to **"run program as administrator"** is enabled.&#x20;

### Running the Miner

Once you have downloaded and configured the batch file you are now ready to mine!  Double click on the batch file and the miner should start running!&#x20;

{% hint style="info" %}
If you need help finding a mining pool, or any more specific instructions, there are many knowledgeable people who can help over in the Etho Protocol Discord.&#x20;
{% endhint %}

> Use the help.bat that can be found in the miner folder to get the parameters for other options.

Full list of Etho Protocol pools can be found [here](https://miningpoolstats.stream/etho)


# Windows ETHO Mining Guide (Claymore)

A simple guide detailing how to mine ETHO on Windows using the Claymore miner.

### Introduction

This guide will cover how to mine ETHO on a windows based system through the Claymore miner program. This guide will detail both the installation and setup process of the miner.&#x20;

### Installation

1. You can download the latest version of Claymore miner [here](https://bitcointalk.org/index.php?topic=1433925.0).
2. Once downloaded, extract the folder to a suitable location on your computer. (Such as a mining folder or onto the desktop.)

{% hint style="info" %}
Be sure to check back frequently to get the latest version of the miner, as updates often  increase your hash rate, as the miner becomes better optimised.&#x20;
{% endhint %}

### Miner Setup

1. Within the extracted folder, right click on the **start.bat** file and edit with notepad.  (If a start.bat file is not present in the miner folder, simple create one by creating a new text document, and renaming it appropriately, including the file extension.)

2. Within this batch file, you can set the various parameters which the miner uses, including:

   1. Wallet address.
   2. Worker Name.
   3. Worker Password.
   4. Pool URL / Port.&#x20;
   5. Max Temperature.&#x20;

3. Below there is an example batch file, for more arguments / detail on setting up a batch file, please reference the bitcoin talk thread. There are also a number of useful youtube tutorials on the subject.&#x20;

```
setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

EthDcrMiner64.exe -epool stratum+tcp://ethodream.exlo.tech:8004 -ewal 0xAc806C529a7FdBCb11bD3667912Dd620b277cEA9 -epsw x -allpools 1 -allcoins -1 -gser 2 -eworker rig1 -eworker cplus2 -tstop 68,68,68,68,68,68 -tstart 45,45,45,45,45,45 -y 1
pause
```

{% hint style="info" %}
Remember to save the batch file before closing it down, or you will lose your configuration information.&#x20;
{% endhint %}

### Exceptions

Before running the batch file, it is best to check that the program has the correct permissions to run.  To do this, click on the  **ethdcrminer64.exe** file, go to properties, and ensure the tick box to **"run program as administrator"** is enabled.&#x20;

### Running the Miner

Once you have downloaded and configured the batch file you are now ready to mine!  Double click on the batch file and the miner should start running!&#x20;

{% hint style="info" %}
If you need help finding a mining pool, or any more specific instructions, there are many knowledgeable people who can help over in the Etho Protocol Discord.&#x20;
{% endhint %}

> Original content provided by Etho Protocol discord community member Cplus2 | Ether-1 Miner |#6567


# How to stake ETHO

## **How to Set Up MetaMask and Add Etho Protocol Network for Staking**

### :octagonal\_sign: **Important Information Before Starting:**

* **You cannot unstake before the selected period ends** once ETHO is locked in the pool.
* **You can only stake one time per pool**, so choose your amount carefully.
* **After the staking period ends**, you can simply claim your ETHO from the staking page.

<figure><img src="/files/fqEZmS7Thvr9eNx0brLZ" alt=""><figcaption><p>Etho staking pools</p></figcaption></figure>

### **Step 1: Install MetaMask**

1. Go to the official [MetaMask website](https://metamask.io/) and install the MetaMask extension for your browser (Chrome, Firefox, or Brave) or download the mobile app.
2. After installation, click the MetaMask icon in your browser to launch the extension.
3. Click **"Get Started"** and choose **"Create a Wallet"** if you don’t have one yet.
4. Create a strong password and back up your seed phrase safely. **Do not share this seed phrase with anyone**—it’s your only way to recover the wallet if you lose access.

### **Step 2: Add the Etho Protocol Network to MetaMask** MetaMask doesn't come with the Etho Protocol network by default, so you'll need to add it manually.

1. Open MetaMask and click on the **network dropdown** at the top (it should say "Ethereum Mainnet").
2. Scroll down and click **"Add Network"** or **"Custom Network"**.
3. Enter the following Etho Protocol network details:
   * **Network Name**: Etho Protocol
   * **New RPC URL**: `https://rpc.ethoprotocol.com`
   * **Chain ID**: `1313114`
   * **Currency Symbol**: ETHO
   * **Block Explorer URL**: `https://explorer.ethoprotocol.com`
4. Click **Save**.

You’ve now added the Etho Protocol network to MetaMask.

### **Step 3: Add ETHO to Your Wallet**

1. To stake ETHO, you’ll need ETHO tokens in your wallet. You can acquire ETHO through supported exchanges and transfer them to your MetaMask address.
2. Copy your MetaMask wallet address (click on your account name to copy it) and send your ETHO tokens to that address.

### **Step 4: Stake ETHO**

1. Head over to the Etho Protocol Staking [page](https://ethoprotocol.com/Staking).
2. Connect your MetaMask wallet by clicking **"Connect Wallet"** and selecting MetaMask.
3. Once connected, you’ll see your ETHO balance.
4. Enter the amount you want to stake, confirm the details, and approve the transaction in MetaMask.
5. **Congratulations**! You are now staking ETHO.

***

You're all set to stake ETHO with your MetaMask wallet on the Etho Protocol network!


