# ENS Setup Guide

<figure><img src="/files/uw1JEgQeKfzJ3cZ8Yaav" alt=""><figcaption><p>ENS Domain Setup Guide for 4EVERLAND IPFS Deployments</p></figcaption></figure>

## Introduction to ENS Integration

4EVERLAND supports [**Ethereum Name Service**](https://ens.domains/) **(ENS)** domains for decentralized, censorship-resistant access to your IPFS projects. Unlike traditional DNS, ENS domains:<br>

* Are owned via Ethereum private keys (no registrars)
* Use smart contracts for censorship-resistant resolution
* Auto-update content hashes via IPNS (InterPlanetary Name System)
* Work with Web3 browsers/wallets (MetaMask, Brave, Opera Crypto)

{% hint style="info" %}
**Current Support**: IPFS projects only | **Future Plans**: IC/Arweave ENS support.
{% endhint %}

## Prerequisites

1. **Owned ENS Domain**:
   * Purchase via [ENS Registrar](https://app.ens.domains/) (e.g., `yourproject.eth`)
   * Ensure you control the Ethereum private key (MetaMask/ledger etc.)
2. **Deployed IPFS Project**:
   * Live on 4EVERLAND (Dashboard → Projects → \[Project] → Details)
3. **Web3 Wallet Setup**:
   * Install MetaMask (Chrome/Firefox) with Ethereum Mainnet/Rinkeby configured
   * Sufficient ETH for transaction fees (≈ $0.5–$2 USD for mainnet)

## Step 1: Add ENS Domain in 4EVERLAND

<figure><img src="/files/VtEjuAROPDPeObGOMBMr" alt=""><figcaption><p>Add ENS Domain in 4EVERLAND</p></figcaption></figure>

**Path**: Dashboard → Projects → \[IPFS Project] → **Domains** → **Decentralized Domains** → **ENS**&#x20;

1. **Domain Input**
   * Enter your ENS domain (e.g., `yourproject.eth` )
2. **Ownership Verification**
   * Click **Add** → 4EVERLAND will ask you to 'Verify Configuration'&#x20;

## Step 2: Configure Content Hash (IPNS Integration)

### 2.1 Automatic Setup (Recommended)

* 4EVERLAND auto-detects your project's IPNS hash (`k51qzi5uqu5...`)
* Click **Set Content Hash** → Sign transaction to:
  1. Update ENS `contenthash` record to your IPNS CID
  2. Click "Bind" to link IPNS to 4EVERLAND's auto-update service
  3. MetaMask popup appears:
     * Sign the message to prove domain control
     * Transaction cost: \~50k gas (≈ $0.3 on Ethereum mainnet)
  4. *Success*: Domain status changes to **" ✅"** (takes 1–3 minutes)

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

### 2.2 Manual Setup (Advanced)

* Copy your 4EVERLAND project's IPNS hash (`k51qzi5uqu5...`)
* Go to [ENS App](https://app.ens.domains/) → Manage `yourproject.eth`
  * Add `contenthash` record:
    * Value: `{IPNS_HASH}` (IPNS prefix format)
    * Click **Save** → Sign transaction (cost: \~80k gas)
* *Success*: Domain status changes to **" ✅"** (takes 1–3 minutes)

## Step 3: Confirm Transaction & Resolution

1. **Track Transaction**
   * Etherscan: Search your wallet address for ENS `SetContentHash` event
   * 4EVERLAND Status:
     * **Invalid Configuration**: Waiting for blockchain confirmation (10–30 minutes)
     * **Active ✅**: Domain resolves to your IPFS project
2. **Test Resolution**
   * Web3 Browser: Visit `yourproject.eth` (Brave/MetaMask Browser)
   * Non-Web3 Browser: Use [eth.limo](https://eth.limo/) `yourproject.eth.limo`

## Troubleshooting Common Issues

| Issue                   | Technical Solution                                                                   |
| ----------------------- | ------------------------------------------------------------------------------------ |
| "Invalid Configuration" | <p>1. Check ENS <code>contenthash</code> format<br>2. Resign ownership challenge</p> |
| Transaction Stuck       | Add gas to speed up or cancel the tx                                                 |
| Domain Not Resolving    | Clear MetaMask cache → Settings → Advanced → Clear site data for `app.ens.domains`   |

{% hint style="info" %}

### 📞 Support Resources

* **Live Chat**: Join [Discord server](https://discord.com/invite/Cun2VpsdjF) → #Open a ticket
* **Email**: <contact@4everland.org> (include domain name & project ID in subject)
  {% endhint %}

###


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://docs.4everland.org/hositng/guides/domain-management/ens-setup-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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