Hey all, I built something that some users might find useful.
I’ve been experimenting with EVM calldata lately. Each transaction has space for arbitrary data—similar to Ordinals on Bitcoin. On Ethereum these are commonly called Ethscriptions, though that term usually refers to NFT-style art. Each tx can hold up to 96kb, which is more than enough for HTML.
Ethscriptions supports text and uses SHA256 to ensure duplicates count the first upload as the original. If you inscribe a word, name, or string, it becomes a unique identifier. Like all namespaces, the simple ones are taken, but compound names and usernames are widely available—and cost about 2 cents.
So you can put a website in a transaction.
You can view it directly on Etherscan, or use a viewer like this:
Example webpage inscription (~30 cents to inscribe)
You can even copy the calldata and paste it into Chrome’s URL bar to load the site directly.
Here’s a name registration: degenjef
The Problem
Browsers need a nameserver or IP address to resolve URLs. So I built a small open-source Cloudflare service worker. Cloudflare handles the DNS, and the worker fetches the inscribed HTML from the transaction and serves it as a webpage.
Calldata is immutable, uncensorable, and permanent. No one can take it down or block it. And you never pay hosting fees again.
Updates
Inscribe updated HTML to a new tx (~30 cents), then update a manifest (~1 cent). The Cloudflare worker reads the manifest and serves the latest version.
No Domains Required
Traditional domains require annual renewals, KYC, and cost at least $10/year. Instead, Chainhost runs on subdomains, allowing infinite mirrors of the open-source backend.
I registered chainhost.online as the main platform and cloned it to chost.app and others. The name prefixes stay consistent across all mirrors:
If someone sets up their own mirror, degenjef.theirmirror will point to the same content. Mirrors are free to run—just a Cloudflare wildcard. The only potential cost is excessive usage, and even then it’s about $0.50 per 10M requests.
Large File Support
I also built a tool to chunk and upload larger files across multiple transactions, then reassemble them in a viewer. Great for archiving and distribution.
Example: firstfifty.chainhost.online — all 238 pages of the Epstein documents across 734 transactions.
Get Started
The whole thing is free. You only pay ETH gas to register a name, inscribe HTML, and publish a manifest—probably under 50 cents for a text-based site.
- Try it: https://chainhost.online/
- Source: https://github.com/jefdiesel/chainhost