How to make a website

Why: Not centralized → not censorable

A website, unlike a .com website, is special because it cannot be taken down or censored…by anyone….not your mom, not GoDaddy, not Visa, not The Government, not even God.eth can touch YOUR CONTENT. The CONTENT exists on thousands of computers around the world. If you lose your private key, YOUR CONTENT will remain visible to the world for the rest of time, because only YOU have the power to change it. You are the king or queen of your content. This is the “decentralized web” and if you own an ENS name you can be part of it (.crypto domains can also produce uncensorable websites, but I’m going to focus on .eth here).

I’m assuming you already have an ENS name. If not, try, and if you find the site challenging, I suggest it’s $2/year more and much easier to use to obtain a name.

How: Create HTML content → Hash it → Load it on the Blockchain

The process is simple in theory: (1) you make some HTML-based content, (2) you create a “hash” of that content, and (3) you append your ENS name to contain that hash. When you call that ENS name with the “” at the end, the content hash is translated and your content shows up as a website. In practice, steps 2 and 3 are fairly simple, but making content is hard.

So, I’m going to provide the content today, and focus on steps 2 and 3. Rather than start with the hard part, and lose you dear reader, I’ll start with the easy steps, give you some pre-generated content, and and the circle back to #1: generating content, next time.

STEP 2: Turn your content into a hash.

So, assume we have some lovely HTML-based content, the next step is to just click a button in whatever content-generating program we are using (I use (I hear is good too but never used it), where the button “Publish to IPFS” is in the top middle), and the computer turns that content into a hash. The computer does the following:

The Hash on the right “contains” the content on the left (trippy, right?). HASH: QmbUxyuv5WQHc21i1ezy8kjo4dT3BWwvRsCXPNrVKkPK3t

In practice the computer returns a new website that contains the hash, where the hash is the right part of that webdomain:

The hash is the part at the right, after “ipfs/”. Notice the “Publish to IPFS” button at the top middle that is used to create the website that contains the hash.

Now step 2 is done, you have a hash. Good idea to copy/paste it somewhere for safekeeping, like in a document or an email.

Also a good idea to trip out for a second at the fact that a string of numbers and letters can contain a website of even great complexity, and the fact that ENS aliasing can also work to ALIAS A HASH, rather than an address (this hurts my brain). In fact, an address IS a Hash of sorts……but enough of that.

STEP 3: Associate that hash with your ENS domain, load it onto the Ethereum blockchain

In the same way that you likely associated an ethereum address with your ENS domain (so the $ sent to your name goes to your wallet), you will now associate the hash created in Step 2 with your ENS domain. Click the “Content” part of the “Select a Record” tab, and enter: “ipfs://[hash]” and click save.

Hash goes under “Content”

Now you are done. Wait about 15 to 20 mins for the blockchain to do it’s thing, and go to your new website. Chrome works best.

For now, if you use the hash above, you will get my rekt.eth content. If you don’t like that, here’s a turtle:


And here’s rekt again if you didn’t catch it above:


Have fun.

In a few days I’ll write Part II: Generating Your own Content about wrestling with Briefly, what you do is start with a good site (like increaseo.eth or dalletsite.eth or the turtle above which is tortugas.eth if you just want a simple one-picture-site), right click, steal the HTML, input it at Deocities, and change what you need to make what you want. You can also create from scratch, but that’s much harder. Next time.

Disclaimer: Author declares no conflict of interest, and is not employed by any entity on the cryptocurrency space.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store