Multi-hash encoder/decoder. Only supports sha256 multi-hash (the IPFS default) for now; will add more soon.
$ npm install multi-hash
To use in Node.js, simply require it:
var multihash = require("multi-hash");
A minified, browserified file dist/multihash.min.js
is included for use in the browser. Including this file attaches a multihash
object to window
:
<script src="dist/multihash.min.js" type="text/javascript"></script>
Multi-hash includes encode
and decode
functions. encode
accepts a 32-byte buffer or hex-encoded string, and converts it to a base58-encoded multi-hash string.
var hex = "4afeb08a2bf63b8e42f4b67bd92dbf7e4a23f991c7acf0236a9d1c04462db278";
var ipfsHash = multihash.encode(hex);
// ipfsHash: QmPH4nmLYxgWyq9FqpzvxAEPZ5ZdwGZjmvusLqPDCk7mu1
decode
accepts a base58-encoded multi-hash string, and converts it to a 32-byte buffer with the multi-hash prefix removed.
var buf = multihash.decode(ipfsHash);
// buf: <Buffer 4a fe b0 8a 2b f6 3b 8e 42 f4 b6 7b d9 2d bf 7e 4a 23 f9 91 c7
// ac f0 23 6a 9d 1c 04 46 2d b2 78>
Unit tests are included in test/
, and can be run using Mocha:
$ mocha