|
| 1 | +--- |
| 2 | +date: 2018-09-11 |
| 3 | +url: 43-js-ipfs-0-32 |
| 4 | +title: js-ipfs 0.32.0 released |
| 5 | +author: Alan Shaw |
| 6 | +--- |
| 7 | + |
| 8 | +A pinch of IPNS, some chunking of files and you'll have a delicious IPFS stew for supper. |
| 9 | + |
| 10 | +<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Better head over to your nearest modules'R'us store because <a href="https://twitter.com/hashtag/JS?src=hash&ref_src=twsrc%5Etfw">#JS</a> <a href="https://twitter.com/hashtag/IPFS?src=hash&ref_src=twsrc%5Etfw">#IPFS</a> 0.32 has hit the shelves. We got <a href="https://twitter.com/hashtag/IPNS?src=hash&ref_src=twsrc%5Etfw">#IPNS</a>, custom chunking & loads more goodies. Enjoy 🍦! P.S. more info here: <a href="https://t.co/sU0GorC0l7">https://t.co/sU0GorC0l7</a> … <a href="https://twitter.com/hashtag/libp2p?src=hash&ref_src=twsrc%5Etfw">#libp2p</a> <a href="https://twitter.com/hashtag/fingerprinting?src=hash&ref_src=twsrc%5Etfw">#fingerprinting</a> <a href="https://twitter.com/hashtag/rabin?src=hash&ref_src=twsrc%5Etfw">#rabin</a> <a href="https://t.co/PcPXS8fVMl">pic.twitter.com/PcPXS8fVMl</a></p>— Alan Shaw (@_alanshaw) <a href="https://twitter.com/_alanshaw/status/1039552739221614594?ref_src=twsrc%5Etfw">September 11, 2018</a></blockquote> |
| 11 | +<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> |
| 12 | + |
| 13 | +# 🔦 Highlights |
| 14 | + |
| 15 | +## 📛 IPNS locally |
| 16 | + |
| 17 | +IPNS has it's foot in the door, and it's coming in! In this release IPNS works for your local node. It means you can now [publish](https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/NAME.md#namepublish) records to your local repo and [read](https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/NAME.md#nameresolve) them back. There's still some way to go but you know the saying right, "from small beginnings comes great IPNS"? |
| 18 | + |
| 19 | +## 🕵️♀️ Partial `ipfs.resolve` |
| 20 | + |
| 21 | +In preparation for IPNS landing, we've rolled out a partial implementation of the [`resolve`](https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/MISCELLANEOUS.md#resolve) command. The idea of the resolve command is to figure out the underlying hash of the content referred to by an IPNS name or an IPFS path. |
| 22 | + |
| 23 | +The new resolve command can resolve paths like `/ipfs/QmRootHash/path/to/file` to `/ipfs/QmFileHash` and will soon be able to deal with IPNS names in an upcoming release. |
| 24 | + |
| 25 | +## 📦 libp2p bundle function |
| 26 | + |
| 27 | +We made it even easier to create your libp2p bundle! If you're looking to create a completely custom libp2p bundle then you can now pass a [function in place of your libp2p config](https://github.com/ipfs/js-ipfs#optionslibp2p) which should return your libp2p bundle. It's passed useful information like the IPFS node peer ID so you should be able to build your bundle exactly the way you want! You're welcome 😁 |
| 28 | + |
| 29 | +## 🥒 Support for chunking algorithm |
| 30 | + |
| 31 | +Slice and dice your DAG nodes the way _you_ want™️. When adding data to your IPFS node you can now specify the size of the chunks it creates from your data or even use [`rabin` fingerprinting](https://en.wikipedia.org/wiki/Rabin_fingerprint) to create some fancy variable length chunks for better deduping. |
| 32 | + |
| 33 | +[Rabin](https://www.npmjs.com/package/rabin) is a native module and must be compiled on your system when you run `npm install ipfs`. Native modules depend on specific [languages and tools](https://github.com/nodejs/node-gyp#installation) to be pre-installed on your computer and because of this has been made an [optional dependency](https://docs.npmjs.com/files/package.json#optionaldependencies). That means that it's 👌 if it fails to install, it just won't be available to use in IPFS. If you're thinking of using rabin chunking then be sure to check that it installed properly in your install logs. |
| 34 | + |
| 35 | +Check out the docs for the [`files.add` `chunker` option](https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/FILES.md#filesadd) for more. |
| 36 | + |
| 37 | +# 🏗 API Changes |
| 38 | + |
| 39 | +* Added `ipfs.name.publish` and `ipfs.name.resolve`. This only works on your local node for the moment until the DHT lands. [API docs can be found here](https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/NAME.md). |
| 40 | +* Added `ipfs.resolve` API. Note that this is a partial implementation allowing you to resolve IPFS paths like `/ipfs/QmRootHash/path/to/file` to `/ipfs/QmFileHash`. It does not support IPNS yet. |
| 41 | +* `ipfs.files.add*` now supports a `chunker` option, see [the API docs](https://github.com/ipfs/interface-ipfs-core/blob/master/SPEC/FILES.md#filesadd) for details |
| 42 | + |
| 43 | +# 🙌🏽 Want to contribute? |
| 44 | + |
| 45 | +Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started: |
| 46 | + |
| 47 | +- 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 |
| 48 | +- 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 |
| 49 | +- 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 |
| 50 | +- Join the discussion at http://discuss.ipfs.io/ and help users finding their answers. |
| 51 | +- Join the [⚡️ⒿⓈ Core Dev Team Weekly Sync 🙌🏽](https://github.com/ipfs/pm/issues/650) and be part of the Sprint action! |
| 52 | + |
| 53 | +# ⁉️ Do you have questions? |
| 54 | + |
| 55 | +The best place to ask your questions about IPFS, how it works and what you can do with it is at [discuss.ipfs.io](http://discuss.ipfs.io). We are also available at the #ipfs channel on Freenode. |
0 commit comments