> For the complete documentation index, see [llms.txt](https://etherfi.gitbook.io/etherfi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://etherfi.gitbook.io/etherfi/~/changes/8Jd9g7SmBTNMrbOKtUZq/getting-started/node-operators-guide.md).

# Node operators guide

The goal of this guide is to help our node operator partners connect to our web application, bid on the right to run etherfi nodes, receive keys when they win auctions, decrypt and import keys into their own infrastructure.

## **Web App**

**Acquire enough ETH** to interact materially with etherfi. **Connect to** [**ether.fi**](http://ether.fi) **web application. Once connected, each Node Operator partner will perform a one time registration process.**

### Web App One-time Registration Process:

* With a web browser, **navigate** to: <https://mainnet.ether.fi/>
* **Connect** your wallet top right button:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2Flp7xioQ8SrmZR6Zg0vOq%2FScreen%20Shot%202023-04-18%20at%204.46.23%20PM%20(2).png?alt=media&amp;token=6ffc8981-58e8-451f-a014-01c7ad6d8a63" alt=""><figcaption></figcaption></figure>

* You should be directed to the Stake tab. As a Node Operator, we’re interested in the Auction actions. Click on **Auction tab** and **Download** etherfi desktop app (to generate public private key pairs for secure keystore passing from stakers):

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2Fmj1boru6mHeTTXXrH7Q9%2FScreen%20Shot%202023-04-18%20at%204.55.30%20PM%20(1).png?alt=media&amp;token=2f848070-4b5e-47c2-b2fe-6e9a64f3692b" alt=""><figcaption></figcaption></figure>

* This will take you to the following url: <https://github.com/GadzeFinance/etherfi-desktop/releases>
* **Click Assets** and locate the version that best matches your system (linux, mac, windows):

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FWkQxyBeUEQr22AGSqgwU%2FScreen%20Shot%202023-04-18%20at%204.58.08%20PM.png?alt=media&amp;token=93ea94a2-f201-4b72-b8ce-79be915f6da8" alt=""><figcaption></figcaption></figure>

* **Save** the file to your machine, **Unzip** it, **double click** on the application to run it. You should see an interface like the following on mac \[\*if you are prevented from opening the application, on a mac go to apple > system preferences > security and privacy and see if “Allow apps downloaded from:” has BOTH **app store and identified developers** selected; if not, click on the lock, select, lock again]. Click **open**:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FpHSpgjIdzcsJL6gauZ1M%2FScreen%20Shot%202023-04-18%20at%205.03.35%20PM%20(1).png?alt=media&amp;token=4dce91e3-5c18-4fde-b067-9a98bf47d3a1" alt=""><figcaption></figcaption></figure>

* You should now be using the desktop application. On the top right, **select Node Operator**:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FEbQVlImb0XTwd4R1MYVQ%2FScreen%20Shot%202023-04-18%20at%205.10.07%20PM.png?alt=media&amp;token=a4aae1cd-f05f-4aff-bd8b-67b1b17180b5" alt=""><figcaption></figcaption></figure>

* You should see the **Generate Encryption Keys** interface. Here we’ll generate and store the keys used to receive and decrypt encrypted validator keys from stakers:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FXmBmS2XIrGGSICoCDTch%2FScreen%20Shot%202023-04-18%20at%205.11.20%20PM.png?alt=media&amp;token=7364ec38-a0b5-47f5-b19f-adfd11ccd3f6" alt=""><figcaption></figcaption></figure>

* **Leave** keys at 7000 \[\*in the future, we will have an xpub], **select** a secure password, **select** a save path, and click **Generate Keys**:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2Fb7yuzosw0ixZhfQa47SX%2FScreen%20Shot%202023-04-18%20at%206.21.14%20PM.png?alt=media&amp;token=768c4ac7-95df-469a-bad6-b013a803938e" alt=""><figcaption></figcaption></figure>

* You should see that you’ve generated a set of publicEtherfiKeystore-.json and a privateEtherfiKeystore-.json files. Click **Finish**, and you should be able to navigate to your specified directory and see your files.
  * The **public keys** will be published on ipfs for stakers to use encrypting keystore files.
  * The **private keys** should be kept safe (backed up, not lost, …); they’ll be used to decrypt keystore files from stakers.
  * **PLEASE BACKUP SAFELY ALL THESE KEYS AND PASSWORD. THEY’RE REQUIRED FOR ACCEPTING STAKING REQUESTS AND DECRYPTING THE VALIDATOR KEYS.**
* We are now **done** with the desktop application.
* **Return** to the web application, **select Auction** tab, and **click** the upload space to select your publicEtherfiKeystore file, then click **Register Public Keys**:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2Fw4ifcLorHGU90UVeskVX%2FScreen%20Shot%202023-04-18%20at%206.33.46%20PM.png?alt=media&amp;token=e38720b9-5a3e-4d08-955c-f66b67dbee21" alt=""><figcaption></figcaption></figure>

* If your IPFS upload transaction succeeds, you should now be able to bid in the Node Operator **Auction.** Enter the number of bids you want to post, and the price per bid in ETH below it. **Click** Bid now:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FYtn7d3QR8bRei9SdgjlX%2FScreen%20Shot%202023-04-18%20at%207.20.52%20PM.png?alt=media&amp;token=0ca4dc21-a69c-43d3-aaa4-f075d574e14c" alt=""><figcaption></figcaption></figure>

* You should now see your bids posted in the top right panel labeled: “Your Bids” as well as the larger auction panel “Competing Bids”. These can be easily cancelled with funds returned as well:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FIBfdHMErXmQwnVqyPqxa%2FScreen%20Shot%202023-04-19%20at%201.42.00%20PM.png?alt=media&amp;token=167eae3c-ad8b-4618-b501-5a8c512b1ac3" alt=""><figcaption></figcaption></figure>

**Because this is an auction, if a node operator is not working any bids in the auction contract, they will not receive any stake requests from stakers. Each node operator partner will want to develop, independently or with us, a means for monitoring their bids and keeping bids in the market.**

### Web App Dashboard

After connecting, you’ll have access to the web app’s dashboard. This dashboard has a view for both stakers and node operators. Select “Operator”:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FVsbPRwDNqf0lDLA5C42F%2FScreen%20Shot%202023-04-22%20at%204.48.22%20AM.png?alt=media&amp;token=13cf3a99-db98-4272-a910-ba9654490fec" alt=""><figcaption></figcaption></figure>

**Node Operator Keys**

If you click on “view keys”, you can see an array of your public keys published to ipfs. These are the keys stakers use via our protocol to share a secret with a given node operator (you). The numerator is the number of keys *used;* the denominator is the number of keys you *published*.

**Validators**

The panel below shows all your validators with various related metadata:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FkdVYaFpFYhc5bl8nZICS%2FScreen%20Shot%202023-04-22%20at%204.58.22%20AM.png?alt=media&amp;token=1ec1058b-a803-4552-81ac-b1939d5278f2" alt=""><figcaption></figcaption></figure>

From this panel you can perform a set of actions. All can be done using checkboxes and the “Select Batch Action” drop down or using the three dot menu next to each validator.

**Download and Decrypt Validator Keys:**

* Click on the three dots next to the validator you’d like to download the encrypted keys for. Select “Download Keys”:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FS2QaD4LoiXFc7rjtdsc0%2FScreen%20Shot%202023-04-22%20at%2011.46.57%20AM.png?alt=media&amp;token=ca34065b-4168-49f1-ac87-4354ba085285" alt=""><figcaption></figcaption></figure>

* Open the desktop app, select Node Operator, select Decrypt from the menu:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FsmxdV6T8QhWwhuCM8tn1%2FScreen%20Shot%202023-04-22%20at%2011.51.35%20AM.png?alt=media&amp;token=34f50c97-3911-4e23-b5f9-db4763ece8ad" alt=""><figcaption></figcaption></figure>

1. **Click** to select the encrypted validator key file you just downloaded.
2. **Click** to select the private encryption keys you generated here: The goal of this guide is to help our node operator partners connect to our web application, bid on the right to run etherfi nodes, receive keys when they win auctions, decrypt and import keys into their own infrastructure.
3. **Enter** the password you used in that same step
4. **Click** and “Select save path”
5. **Click** and “Decrypt Validator Keys”

You should now have a directory:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FicANdREErUbXA12msOKU%2FScreen%20Shot%202023-04-22%20at%201.17.34%20PM.png?alt=media&amp;token=5d9954df-31c2-4d71-b8be-94ef179e74dd" alt=""><figcaption></figcaption></figure>

And inside this directory you should have two files:

<figure><img src="https://1029745181-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FG3Lk76lfvw9ecPIg0mK8%2Fuploads%2FUEjA8lOQ7ITnrM6ZaeCp%2FScreen%20Shot%202023-04-22%20at%201.18.56%20PM.png?alt=media&amp;token=d72a467e-013c-47f6-a642-767b48415872" alt=""><figcaption></figcaption></figure>

* The first password file contains the Staker’s password used to encrypt their validator key with the ethereum staking cli
* The second is the actual validator key you’ll need to run the validator.

You can inject these details into your backend infrastructure as you see fit.

**Skim Rewards**

**Exit**

## Scripting Back End Solution: etherfi-sync-client


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

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

```
GET https://etherfi.gitbook.io/etherfi/~/changes/8Jd9g7SmBTNMrbOKtUZq/getting-started/node-operators-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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