So, a couple weeks ago, as I was being helped by the incredible @GuthL & @gregoireljda on figuring out a GTM for my decentralized database network, Goliath, I got thinking - fuck, this wouldn't be too hard to build?? I know exactly what it should look like.
So I straight hyperfocused and built it
Here's a demo of Dappnet in action-
This is the demo of the Dappnet client. One install and the user’s browser is upgraded to connect to dappnet.
Now anyone can access .eth domains like any other website, and they never have to configure ANYTHING.
https://uniswap.eth
It’s just seamless, just beautifully simple
In the background, everything is downloaded P2P via the capture-resistant IPFS network.
The Dappnet client runs a local IPFS node in the background. The node is preconfigured to be fast - it automatically peers with big IPFS providers like Cloudflare and Fleek.
The client runs a local ENS gateway - equivalent to eth.limo or eth.link - but rewritten to run completely locally on the user’s machine.
And there are lots of other details that make this experience beautiful.
HTTPS everywhere for .eth, useful 404 error pages for .eth names (including linking out to ENS), linkouts to IPFS, etc.
All of this put together, means that for the first time ever we can own a place on the Internet that can’t be taken away from us, and doesn’t rely on a single host who dictates what is allowed.
I think that will have a profound impact for the web
For users, that means frontends can’t be censored. For the first time, .eth becomes a signal for public infrastructure - a website that won’t disappear, a tool that is accessible forever.
For protocols, that means greater operational freedom, security and workflows. An ENS frontend can be owned by a DAO, deployed and hosted permissionlessly.
More broadly tho, this makes the web a hyperstructure.
Imagine writing a blog, citing some links, and that can be read and built on by someone 1000yrs later.
Your content doesn't die with you, it can always be found on IPFS, and so on for the things you link out to.
There's lots to do before we get there though:
- We gotta improve IPFS: lighter nodes, imprv observability into dloads (nothing like # seeders/leechers atm), dissemination (how mirrored/pinned is this content), and better tooling
cc @juanbenet@ipfs
- We need to build decentralized Vercel for protocols. Right now it's extremely complicated to deploy to IPFS (chat to @dappbeast, he just did it for lyra) in a way which is truly decentralized (unlike Fleek).
It should be one-click - visit dapploy.eth, connect ENS, connect github, pay some $$ to the decentralized IPFS accelerator, and boom - your dapp is now available worldwide
To do that, we'd need an IPFS content accelerator - basically a pinning service that is fast and decentralized (like a protocol). So you could pay via smart contracts to seed IPFS content, decentralized unlike Pinata/Fleek, and provably fast
got some ideas brewing on this: potentially a chainlink-style trusted consortium which monitors the QoS (speed) of the decentralized seeder/pinning network. v2 could be true p2p, closer to eigentrust rep than anything else, collaboratively generated/shared using MPC/ZK tech
and finally, aside from the fun stuff - we need to make dappnet universally available - currently it works for macOS, on Chrome/FF.
So yeah! If this interests you, reach out :) My DM's are open, let's build something that changes the game
Last of all - to commemorate the death of dapp centralization, I'm launching an NFT.
When decentralized frontends are ubiquitous, you will have proof that you were there when it started.
Mint lasts 1 week. $ goes towards dev. Utility TBA
Literally every aspect of this stack is being torn out and spun into its own protocol.
This may be my bias, but out of all the ecosystems I've played around in (eth, sol, cosmos, polka), Eth has the easiest model for composability - e.g. ERC20(0x123).transferFrom
It's like the Go of smart contracts. Really easy to understand and learn.
In terms of the UX of writing smart contracts, Cairo *currently* falls a bit short bc of some low-level frictions imo.
e.g. more complex mental model of variables (alloc_locals, let, tempvar), lack of string type
I've recently gotten a grant from @StarkWareLtd to do some R&D into building a system on Cairo. Going to be using this thread to document my learnings :)
problem I have - there's so many smart people writing amazing longform content on blogs. but the modern internet makes it nigh-impossible to find it
a lot of this content is from the pre-social media era.
e.g. I learnt so much from @gafferongames series on building a game networking protocol:
- UDP, TCP, packets, reliability, sequencing
which later led me to read about how source engine (cs;go, tf2) syncs world state
this content doesn't fit perfectly on wikipedia. The 1st person voice of bloggers/random stackoverflow answers has some massive educational role that wikis don't fill, for one reason or another
This is my artificial pancreas. Changed the cron job last night so it would only run between 9pm and 7am (~ while I'm asleep).
Built a tool 🙆♂️ this weekend to annotate the glucose data from @NightscoutProj, so I could build a better view of different things like exercise, alcohol, etc.
Now the graphs have a date attached to them, and the visual design has a bit more breathing space.