Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  

IPFS: InterPlanetary File System

Recommended Posts


This is a cool experimental project, a distributed file system which is content-addressed, not location-addressed as most protocols are. In a way, it's a more generalized BitTorrent and an attempt to replace HTTP. Every node participating in the network can share the load with the rest of the network -- contrary to some other systems, you never act as a proxy for data you never add nor visit yourself (so, you can keep yourself 100% legal regardless of the rest of the network). As a consequence and part of the design, content never needs to disappear just because a server went unpaid, it can live on... forever :)

For example, the TeamTNT website: /ipfs/QmT67rqcG2cLquLuPvxDQ1kfB4SQ4heahZay6uXb5j5V9D
Or, less in immediate danger, but the Chocolate Doom releases until 2.2.1: /ipfs/QmefFBcFBtCPMebVg2Xfj5eQnwhtvHbrCrBkKMTUb9iEZw

The permanence is particularly appealing to me, especially in light of sites like teamtnt.com and doom2.net vanishing. With IPFS-hosted mirrors, we wouldn't need to worry about it.

Now, it does raise some questions, like how exactly you're supposed to share and participate with sharing these resources. You might care about the TeamTNT web site, for example, but how exactly do you make sure to load the data and keep it on your system? I'll give some short examples but see the actual web site for full usage details.

1. You'd install IPFS, and preferably run the daemon. (There's a Getting Started link for the full instructions)
2. After this, you can either get the resource or pin it -- both will load it into your node's cache, but pinning it will prevent it from being deleted in the future in a garbage collection run.
3. To merely get the resource, you can do a command like "ipfs get -o teamtnt /ipfs/QmT67..." (full hash goes there). This will download the entire content of that website into the "teamtnt" directory -- this is better than wget, since it's traveling down a full directory tree and doesn't need to peek into the HTML files to figure out where things are.
4. To pin a resource, to state an intent of keeping it forever, you can do "ipfs pin add /ipfs/QmT67..." and it will also download the full contents to your local node, and make it available to serve to others on request.

Now, all this said, and I love the tech and the concepts, it does have drawbacks. At the present, it can be very memory-consuming for large data sets. I tried to load the full /idgames tree into it and I had to cancel after it was only ~33% done, and was eating up 4GB of RAM on my system. While it'd otherwise be perfect for hosting /idgames, it's not yet practical. One day... it will be.

The links I had posted above are via the public IPFS->HTTP gateway. It's wonderful to see content on the network, but IPFS works better with your own nodes running. There are addons for both Firefox and Chrome that translate such links to a localhost:8080 gateway if you have it installed.

And.... if you feel like really testing the speed of the network, why not stream a movie? ;)

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this