___________________________________________
title: This Website Is Now Available on IPFS, ENS, and Handshake
tags: ipfs distributed
date: 2021-12-30
___________________________________________

Intro

In the past few months there has been a lot of chatter about web3 and
what it means and doesn’t mean for the future of the web. There’s a
lot of hype around NFTs, mostly because of the money that is
exchanging hands, and instead of outright dismissing it I wanted to
dive deeper to understand it better.

Setting up an ENS Domain

I first thought about NFTs when I discovered you can buy ENS Domains
and then set them up like a standard DNS name with the additional
benefit of using them as an identity. I went through the ENS
purchase - setting up Coinbase Wallet - and buying the domain with
some ETH. My overall impression was is there’s a lot of fees.
Registering the domain and other actions are relatively inexpensive,
but the gas fees are much higher and take up the bulk of the
transaction cost. Skipping over all the details, it cost about 400$ to
fully setup ecliptik.eth - registering, reverse lookup to my wallet
address, and setting the metadata.

 [ENS Domains]: https://ens.domains
 [Coinbase Wallet]: https://www.coinbase.com/wallet
 [gas fees]: https://cryptocurrencysimple.com/all-you-must-know-about-what-are-eth-gas-fees/

The results of setting up the ENS domain are here, ecliptik.eth and it
resolves to https://ecliptik.eth on IPFS. This name also includes
additional features like setting my Avatar image to an NFT I own
(which is one I created myself and put on opensea.io for free).

 [ecliptik.eth]: https://app.ens.domains/name/ecliptik.eth/details
 [https://ecliptik.eth]: https://ecliptik.eth.limo
 [Avatar image to an NFT I own]: https://medium.com/the-ethereum-name-service/nft-avatar-support-for-ens-profiles-bd4a5553f089
 [opensea.io]: https://opensea.io

Setting up a Handshake Domain

The next domain setup was Handshake which is a “Decentralized naming
and certificate authority” and has an auction process to acquire a
Handshake domain. I setup Bob Wallet and went through the airdrop
claim to get some HNS. Eventually I ended up using Namebase to handle
the auction and management details and after about 14 days (due to the
auction process) I was the new owner of the ecliptik Handshake domain.

 [Handshake]: https://handshake.org
 [Bob Wallet]: https://bobwallet.io
 [airdrop claim]: https://github.com/handshake-org/hs-airdrop
 [Namebase]: https://www.namebase.io

The one interesting thing I noticed is that the ecliptik domain was
already up for auction when I checked. After some research I found
that if you register an ENS domain name and it’s not claimed on
Handshake, there are bots that will automatically start and auction
for it. Because it was a bot and not someone else trying to buy it, I
easily outbid and acquired the name with no counter bids. I also
acquired a few other names like amfora and rawtext since I had some
more HNS.

Accessing the HNS domain requires some additional software or using
DNS servers that support it, the Namebase article How to Access
Handshake Sites has how to set this all up.

 [How to Access Handshake Sites]: https://learn.namebase.io/starting-from-zero/how-to-access-handshake-sites

Handshake names are also available using the hns.to domain, and mine
is accessible at https://ecliptik.hns.to

Mirroring To IPFS

Now that I had the DNS and Handshake domains I had to figure out how
to use them. ENS has a lot of documentation on using IPFS to point an
ENS domain to, and then it’s fully part of the “Distributed Web”.
After doing some research I found that Fleek.co provides free Web,
IPFS, ENS, and Handshake features. I followed their setup guide and
now whenever I push to main on my Github Pages repo, it automatically
publishes it to IPFS using InterPlanetary Name System (IPNS) which
resolves the name ecliptik.ens to the current version of this blog.

 [IPFS]: https://ipfs.io
 [Fleek.co]: https://fleek.co
 [Github Pages repo]: https://github.com/ecliptik/ecliptik.github.io
 [IPNS]: https://docs.ipfs.io/concepts/ipns/

Now whenever I publish to this blog, it’s automatically updated on
IPFS and available at ipns://ecliptik.eth, and via http at
https://ecliptik.eth.limo.

 [ipns://ecliptik.eth]: ipns://ecliptik.eth

Accessing ENS and IPFS directly requires some additional software
outside of traditional browsers, but Brave has support both for ENS
and IPFS.

 [Brave]: https://brave.com

Wrapping Up

Learning about ENS, Handshake, and IPFS was a lot of fun, and while I
highly doubt that web3 is “the future”, these technologies have a lot
of offer for the future of the Internet. I am particularly fond of
IPFS as it reminds me of Bittorrent but without having to setup a
torrent/magnet link and seed. Getting started with IPFS is easy, and
hosting your own IPFS node locally is a quick and free way to
participate in the distributed web.

 [Bittorrent]: https://www.bittorrent.org

I really understood the power of IPFS when I saw the different ways
you could use it as a Gateway, enabling any application that uses http
to access content on IPFS. This really shines with git and package
repositories, see OpenBSD 6.9 packages using IPFS for a real-world
application.

 [Gateway]: https://docs.ipfs.io/concepts/ipfs-gateway/
 [OpenBSD 6.9 packages using IPFS]: https://dataswamp.org/~solene/2021-05-01-ipfs-openbsd-69.html