6 ms·
The blog post is accessible through IPFS here https://ipfs.io/ipfs/QmY2LufsW3v6AfxTTkp6SGqDGa5AeJhSZXH8RSsdiao4Ds/ https://ipfs.io/ipfs/QmY2LufsW3v6AfxTTkp6SGqD
by haadcode 8y ago
The blog post is accessible through IPFS here https://ipfs.io/ipfs/QmY2LufsW3v6AfxTTkp6SGqDGa5AeJhSZXH8RSsdiao4Ds/ https://ipfs.io/ipfs/QmY2LufsW3v6AfxTTkp6SGqDGa5AeJhSZXH8RSs... in case the original link doesn't work.
- fwdpropaganda 8y agoCan anyone be bothered to explain to me how this works? I know that IPFS is some sort of distributed content-addressable thingy. So I expected that ipfs.io would deliver some JS to my browser, which would get it to look-up some distributed hash table in order to find peers with the content (a la torrents). However I'm not running JS and that page loads just fine. So how does it work?
- detaro 8y agoipfs.io is a gateway, fetching the content from the IPFS network and serving it to you over HTTP.
- fwdpropaganda 8y agoSo sort of an intermediary between how the internet works these days, and how it should work in IPFS view. Does the "deliverying JS to browser" thing that I described make sense at all?
- detaro 8y agoThere's work on running the IPFS protocol over WebRTC, so yes, it makes sense and is another way of enabling normal browsers to access it.
- Confiks 8y agoThere is already a Javascript implementation [1], but it is not feasible to setup a full IPFS node in every browser tab that loads an IPFS resource. Instead you can use ipfs-companion [2], a browser extension that lets you easily load IPFS resources in your browser. While it can use the Javascript implementation, this is not recommended as it is currently pretty resource heavy [3]. [1] https://github.com/ipfs/js-ipfs https://github.com/ipfs/js-ipfs [2] https://github.com/ipfs-shipyard/ipfs-companion https://github.com/ipfs-shipyard/ipfs-companion [3] https://github.com/ipfs-shipyard/ipfs-companion/blob/master/docs/node-types.md https://github.com/ipfs-shipyard/ipfs-companion/blob/master/...
- haadcode 8y agoThe ipfs.io url is a public IPFS gateway, ie. bunch of IPFS nodes running on servers and "caching" content to be served through that domain. From that perspective, you're not accessing the content through the IPFS protocol but through http like any website. It's a public service operated by the IPFS community, but underneath it does all the "...get it to look-up some distributed hash table in order to find peers with the content (a la torrents)". However, if you install the IPFS client (https://dist.ipfs.io/#go-ipfs https://dist.ipfs.io/#go-ipfs), you can get the blog post peer-to-peer through IPFS by running `ipfs get QmY2LufsW3v6AfxTTkp6SGqDGa5AeJhSZXH8RSsdiao4Ds`. Note how the hash in the ipfs.io url is the hash of the content stored in IPFS. Hope this clarifies it!
- fwdpropaganda 8y agoThank you. It's a bit sad that you require a whole new client. I think that will add enormous friciton to adoption, no?
- haadcode 8y agoI think it depends on what the use case for IPFS is. Many use it "server-side" to just transfer and store files, so a "native client" makes a lot of sense. The IPFS devs always recognized the importance of the browser though and as such js-ipfs (https://github.com/ipfs/js-ipfs https://github.com/ipfs/js-ipfs) has always been a first-class implementation of IPFS. With js-ipfs, the IPFS protocol works in the browser and can be embedded to JavaScript applications in a way that doesn't "require a new client". Highly recommend to read into IPFS and how it works to understand the various use cases and possibilities. A good starting point would be https://ipfs.io/ https://ipfs.io/ and https://github.com/ipfs/ipfs https://github.com/ipfs/ipfs.
- haadcode 8y agoTo summarize the relevant links and Github repos, they are: https://tallylab.com/ https://tallylab.com/ https://github.com/orbitdb/orbit-db https://github.com/orbitdb/orbit-db https://github.com/orbitdb/ipfs-log https://github.com/orbitdb/ipfs-log https://github.com/ipfs/js-ipfs https://github.com/ipfs/js-ipfs https://github.com/ipfs/go-ipfs https://github.com/ipfs/go-ipfs https://github.com/ipfs/ipfs https://github.com/ipfs/ipfs