Achieve Full Decentralization with ENS using Spheron!
Tags: blockchain, tutorial, webdev, cloud
Published: 2021-12-21 17:00:56

> Leave no centralized stone unturned with an ENS domain! 👀

[ENS (Ethereum Name Service)](https://ens.domains/) domains are the decentralized Ethereum-based naming system alternative to DNS (Domain Name Service). They both are lookup systems which use domain names to map and reference complex addresses. The difference being, while DNS uses domain names to translate a website’s underlying IP address, ENS uses .eth suffix domain names to reference Ethereum addresses, or on the other hand to remember resources, like IPFS file hashes.

## What is Ethereum Name Service (ENS)?

ENS is an open source, distributed, and community-owned naming system that resides in the Ethereum blockchain. At its core, ENS is composed of two main pieces. Firstly, the ENS registry, which lives in a smart contract running on the Ethereum blockchain and has a record of all domains and subdomains, detailing the owner, resolver, and caching TTL (time-to-live) for all records under that domain.
The second key piece are resolvers, which are the actors responsible for translating the ENS domain names into the underlying referenced address or hash. These are also smart contracts on the blockchain, which carry the task of being asked what the “mywallet.eth” domain references, and responding with the resource’s address: “0xe9...42a2”.

Learn more about ENS domains [here](https://docs.ens.domains/)

## Buy ENS Domains and Register Them

You can buy and register ENS domains instantly, with a slight one-minute delay. Instead of paying an undefined fee, there is a yearly rent model which costs approximately USD$5 payable in ETH (some domains are slightly more expensive due to popularity). These funds now go to initiatives and grants to help maintain/develop ENS and the Ethereum ecosystem overall.
Let’s go over the registration process.

### 1. Go to the [ENS domain app](https://app.ens.domains/)

![ENS App SS1](https://ik.imagekit.io/argo/ens-ss-1_GzZXjAaL3.png?updatedAt=1638019968019)

To register your first ENS domain, visit the [ENS app](https://app.ens.domains/) and search for an address/name you want to register and is available. At the moment, you can register domains that are a minimum of 3 characters long (no maximum limit), and you can include emojis.

### 2. Connect to the Main Network.
To pay for the registration fee of your ENS domain, and declare your ownership for it, you will have to connect to the Mainnet using one of the offered integrations (MetaMask, WalletConnect, Portis, Authereum).

### 3. Define Registration Period and Confirm

![ENS App SS2](https://ik.imagekit.io/argo/ens-ss-2_nNXn11VEA.png?updatedAt=1638019967517)

Choose for how long you will want to rent that domain, and verify the final ETH fee to pay. Once you’re good to go, hit “Request to Register” and a transaction will begin. It takes about one minute to verify because during that period the platform is verifying no one else has already tried or is trying to acquire the same domain.

If everything is good, your wallet will pop up to execute the final transaction, and confirm your ownership and purchase.

### 4. Review Details

![ENS App SS3](https://ik.imagekit.io/argo/ens-ss-3_q7xmuTb1-.png?updatedAt=1638019967489)

Once your transaction is successful, you will see a page similar to the one above (using the ens.eth domain as an example). Let’s go over the details on this page.

The **registrant** is the owner of the ENS domain, in this case, it will be you! The registrant can set the controller address, change the resolver, or transfer the registration to a new owner.

The **records** in your domain are where the magic happens! Here you can specify all the resources/addresses that your ENS domain name references. For example, an ETH, BTC, LTC, or DOGE address, content such as the IPFS hash to your website, or text records for things like email or Twitter handles.
Each time you modify a record, there is an ETH transaction to be made (You will need to pay the gas fee).

## How to link ENS Domains to IPFS/Arweave/Skynet Sites?

Now that you have an ENS domain name, let’s see how we can configure and host Skynet, Arweave or IPFS deployed sites using Spheron Protocol (previously ArGoApp).

Currently managing ENS domains is a manual process, where you need to update the content hash and pay an ETH gas fee every time you make a new deployment to your website. Spheron Protocol eases that process, by providing an intuitive UI where you can update content hash with each new deployment on IPFS/Arweave/Skynet.

Here's a video to help you configure ENS domains for IPFS/Arweave/Skynet deployed applications using Spheron Protocol. 

> Let’s get started! 🚀

{% youtube Ynfwggyl5rY %}

Or follow the steps below to deploy a dapp on decentralised storage and configure your ENS domains.

### 1. Host Your Site on Skynet/Arweave/IPFS using Spheron Protocol + Github

![ArGo App SS1](https://ik.imagekit.io/argo/argo-ss-1_SlkbbAUdy.png?updatedAt=1638019967627)

### 2. Add an ENS Domain to Your Site.

Once your deployment is successfully finished, you will see your website’s details. Navigate to the Project → Domain tab, where you will find the ENS Domain setup waiting for you.

![ArGo App SS2](https://ik.imagekit.io/argo/argo-ss-2_GadfSsAZZeq.gif?updatedAt=1638019969400)

Specify the ENS domain you want to use as your deployed site (Skynet, Arweave or IPFS) address and select the site which you want to map with your ENS domain name.

Secondly, you will need to update the content hash in your ENS domain. Spheron Protocol provides a seamless experience by updating your content hash automatically when you click the update button. It will trigger an on-chain transaction through MetaMask/Portis/WalletConnect/Authereum.

Upon completion of the transaction, you can verify the content in your ENS. 

And that’s it! Once the transaction is verified, you can access your deployed website through your ENS domain name!

### 3. Test Your New ENS + Skynet/Arweave/IPFS Website!

![ArGo App SS3](https://ik.imagekit.io/argo/argo-ss-3_IAgvb2w2y.gif?updatedAt=1638019971925)

In case you are using a browser not compatible with ENS, you need to append the “.link” or “.limo” suffix after your domain to visit your website on any browser.

If you’re using an ENS-compatible browser like brave or opera, you can just type your address in the search bar “address.eth/” (don’t forget the “/”) and it should be automatically resolved.

___With this, your app is now fully decentralized, Incredible right?___ 🎉

Hosting websites on decentralized storage and configuring decentralized domains with Spheron Protocol is an easy yet powerful way to make sure you have 100% uptime and your website is censorship resilient. 

You can achieve the unachievable with Spheron Protocol now.

If you have trouble deploying your website using Spheron Protocol (previously ArGoApp), contact us on our [Discord Group](https://argoapp.live/contact).

Checkout Spheron Protocol (previously ArGoApp): https://argoapp.net
Join our Telegram channel: https://t.me/argoofficial
Join our Discord group: https://argoapp.live/contact
Follow us on Twitter: https://twitter.com/SpheronHQ
Follow us on LinkedIn: https://linkedin.com/company/spheron