We're going to build a decentralized replacement for Medium based on IPFS+ENS.

Demo Video Live Demo Source Code


This project created a simple blogging platform as a replacement for Medium. Because it is built on top of IPFS and ENS, it provides a more open, safer and faster infrastructure. The frontend provides users an easy platform to edit the article and to upload to IPFS with the click of a button. Owner of the articles are identified by their ENS names, giving owner full control of their articles. Using decentralized technologies like ENS and IPFS, users no longer need to worry about their content being censored or their accounts being suspended for no reason. All content is stored encrypted on IPFS using a key in the URL, so only those you share a URL with have access to preview an article. This makes it safe and easy to keep your article under wraps until it is time to share it with the world, at which time the publish step exposes that key so anyone can decrypt it. No data is stored on-chain (Ethereum). Instead the contract is only used to verify the ownership before allowing a event log to be emitted. Keeps gas costs low and reduces state-bloat. All IPFS data is accessed through our custom libraries which download content block by block to verify and reconstruct the complete data, so all content is verified on the client, in the browser. Gateways do not need to be trusted. The library also connects to multiple gateways simultaneously with graceful fallback, so data arrives quickly and reliably.

How It's Made

The project is built on top of IPFS. It is a single static file and open source, so, you can host it on GitHub pages if you want to. It also makes it easy to self-host, which allows you to use a non-waxlit domain to host any ENS name you wish. It stores articles on IPFS and uses ENS to resolve the article URL to access it. Content is retrieved from IPFS through public gateways. The content is verified on the client side, so there is not need to trust the public gateways. It also speed up the retrieval of large file by getting pieces of the file from different gateways simultaneously. Currently, content is loaded into IPFS using INFURA's pinning service. Every content saved is further verified against the returned multihash.


Richard Moore Yuet Loo Wong
← click here to see all projects