orbz dot com

Published 1/10/2025. Last updated 1/15/2025.

#blockchain#ipfs#static-site-hosting#decentralization

Remember StumbleUpon? I used to browse that site for hours. There was always something new, just one click away.

I don't know when it happened, but old web died somewhere along the way. Boundless creativity is still out there if you know where to look, but so much of everything has become silo'ed by social media.

When orbiter.host launched a little over a week ago, one thing jumped out at me off the page:

Launching a website shouldn't be hard

I agree! That is a huge part of my pure---internet series. Launching a website shouldn't hard. It should be fun, it should be quirky. You don't need a fancy app to build something remarkable, you can get your hands plenty dirty with straight HTML and CSS. Pure internet, all the way down.

Back to Orbiter. They're doing something different in the static site hosting space, building on IPFS and Base (an Ethereum L2).

When you upload your site to Orbiter, it gets stored on IPFS and receives a Content Identifier (CID) - essentially a cryptographic hash of your content. Each CID is immutable, which works great for content delivery and caching.

But websites change. That's where Base comes in. Each site gets an IPCM (InterPlanetary CID Mapping) contract that maintains the current CID. You control the updates, but the version history is public and permanent on the blockchain.

The best part? Each site has built-in Wayback-Machine-like version control through the blockchain's event history. But more interesting is what this enables.

Let's talk about orbz.fun - my take on StumbleUpon built specifically for Orbiter sites. The architecture has three main layers:

At the blockchain layer, we start with the OrbiterFactory contract at 0x486Edc2E94926fd50398e2129089648b8B9E3D3A on Base. Every time someone deploys a new site on Orbiter, this contract emits an event containing the address of that site's OrbiterSite contract.

The browser reads these events to build a complete list of every site deployed on the platform, storing it in IndexedDB along with each site's CID mapping. When you hit "Start Exploring", it picks a random mapping, and loads the content in an iframe.

image

The whole thing is built with React + Vite, TypeScript, and CSS Modules. To keep things snappy, the cache layer means we don't need to re-fetch the entire contract history on every visit. And if site owners want to opt out, they can message me on Farcaster with their contract address.

It's a small project, but it shows how blockchain's permissionless nature enables the kind of fun that made the early web so engaging.