date | permalink | title | description | author | header_image | tags | ||
---|---|---|---|---|---|---|---|---|
2018-07-09 |
/40-js-ipfs-0-30/ |
js-ipfs 0.30.0 released |
Alan Shaw |
/header-image-js-ipfs-placeholder.png |
|
Feature parity with go-ipfs just got a whole lot closer!
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>js-ipfs 0.30 has been released live at the #IPFS Dev Meeting. Thank you everyone for all the love ❤️ https://t.co/YB9NfGM7WC and big hi5 to @_alanshaw for driving the whole release forward and being an awesome Lead Maintainer for #JS #IPFS 🚀 pic.twitter.com/6arftXUxBe
— David Dias (@daviddias) July 9, 2018
MFS, the mutable file system is finally here in js-ipfs. The MFS API allows you to use IPFS like a regular Unix file system. Add, edit, move, copy, rename and delete your files while keeping all that content addressable, Merkle DAGgy goodness.
Ever wanted to keep the things you add to IPFS? Well now you can! Pinning a hash in IPFS land tells your node to keep the data around in your local repo until you decide to unpin it. No amount of garbage collection will take it! Next stop, implement garbage collection 😝
The new libp2p connection manager gives you the power to disconnect peers when you have too many or when certain bandwidth restrictions are reached. Really useful for preserving resources on resource constrained devices such as mobile phones or IoT.
See the options at: https://github.com/libp2p/js-libp2p-connection-manager#create-a-connectionmanager
Swapping your bits has never been so easy to keep track of. You can now inspect the "wantlist" (the list of hashes currently wanted by various peers) on a per peer basis, and you can manually "unwant" hashes in your own list.
If you add a file to go-ipfs and also add it to js-ipfs then you might get a different hash. It doesn't mean the hash is wrong, just that the layout of the DAG nodes that were created for your file was different. Good news folks, we fixed that. You should now get the same hash whether you add your file to go-ipfs or js-ipfs. Hooray \o/.
Now you can run your js-ipfs node on the latest and greatest Node.js yet.
- libp2p configuration property names for custom modules has changed
- old:
libp2p.modules.discovery
- new:
libp2p.modules.peerDiscovery
- old:
- Custom libp2p modules you provide now replace default modules
- Pin API added (spec)
bitswap.wantlist
peer ID parameter added (spec)bitswap.unwant
implemented (spec)- MFS API added (spec)
Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:
- Check the issues with the
help wanted
label at the Ready column in our waffle board - https://waffle.io/ipfs/js-ipfs?label=help%20wanted - Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/pm/#all-hands-call
- Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
- Join the discussion at http://discuss.ipfs.tech/ and help users finding their answers.
- Join the ⚡️ⒿⓈ Core Dev Team Weekly Sync 🙌🏽 and be part of the Sprint action!
The best place to ask your questions about IPFS, how it works and what you can do with it is at discuss.ipfs.tech. We are also available at the #ipfs channel on Freenode.
That is all for this post. Thank you for being part of the community. I bid you a good day!