Serving Dapps from IPFS today means they all have the same origin (host). This means we do not benefit from all the security provided by cross-origin policies. Any app has complete access to all other app local storage, cookies, et cetera.
What it does
Without having to run any infrastructure, anyone can use ENS and IPFS to host a named website.
How we built it
It is a single static page, that uses the magic of window.open. The static page queries ENS for a multi hash, and then downloads the content from IPFS, verifies the hashes, and once everything is awesome, presents it to the user. :)
Challenges we ran into
It took a lot of time to write a library that correctly verifies the downloaded content from IPFS using the UnixFS and the DAG node structures. It is a complex system, but we need more tools that verify content.
Accomplishments that we're proud of
Verifying IPFS UnixFS in the browser, and providing a zero-server solution to serving IPFS with its own Origin.
What we learned
A log about IPFS. Also, that
window.open() is awesome!
What's next for Meeseeks
Much smaller size, integrated ethers-app.