James Stanley

I've been playing with IPFS

Tue 9 May 2017

There was an article on Hacker News yesterday about Uncensorable Wikipedia on IPFS. I read it with great interest (I recommend you read it too) and ended up going down a huge rabbit hole of learning about IPFS.

IPFS is the "Inter-Planetary File System". I recommend watching this YouTube video if you want to kill an hour listening to a fascinating talk.

IPFS is a distributed content-addressable storage system (imagine git combined with bittorrent), where any piece of data only sticks around as long as there are nodes on the network that find it interesting. Content is looked up by its hash, which means you don't care who serves you the content, you can always verify that you received the correct version, and you also don't care if the original hoster of the content disappears. A "copy" of the same content from somebody else on the IPFS network is just as authoritative as the "original". In fact, unless you go out of your way to find out, you won't even know which node on the network you received the content from. It all just works. And this network is live and available right now. It is truly mind-blowing.

Anyway, the upshot of my dive down this rabbit hole, so far, is that my blog is now available on IPFS, using IPNS (the "Inter-Planetary Name System"; basically a way to update content without having to distribute a new hash) at /ipns/QmdnD2bUSWcZorAwcTs7rftNm19YZXLWkmdefsvrjdMmAe/. That hyperlink goes to https://ipfs.io/ipns/QmdnD2bUSWcZorAwcTs7rftNm19YZXLWkmdefsvrjdMmAe/, which is a public web-to-IPFS gateway. If you would rather use a different gateway, simply replace https://ipfs.io with the address of your gateway (e.g. http://localhost:8080 if you're running go-ipfs locally).

I am currently running a public gateway at https://ipfs.jes.xxx, so the following link works just as well, as long as my gateway is running: https://ipfs.jes.xxx/ipns/QmdnD2bUSWcZorAwcTs7rftNm19YZXLWkmdefsvrjdMmAe/

The IPFS tooling is impressively mature and easy to use, and I recommend playing with it. Gio d'Amelio's article on hosting a website on IPFS is helpful, and the Getting Started guide is super easy to follow.

So go forth! And play with IPFS.

If you like my blog, please consider subscribing to the RSS feed or the mailing list:

James Stanley - james@incoherency.co.uk | jesblogfnk2boep4.onion | /ipns/jes.xxx/ | [rss]