@multiformats/murmur3
July 9, 2026 ยท View on GitHub
Multiformats Murmur3 implementations
About
MultihashHasherss are exported from this library, they produce MultihashDigests. Details about these can be found in the multiformats multihash interface definitions.
import * as Block from 'multiformats/block'
import * as codec from '@ipld/dag-cbor'
import { murmur3128 as hasher } from '@multiformats/murmur3'
async function run () {
const value = { hello: 'world' }
const block = await Block.encode({ value, hasher, codec })
console.log(block.cid)
// -> CID(bafyseebn7ksk6khsn4an2lzmae6wm4qk)
}
run().catch(console.error)
Usage
The @multiformats/murmur3 package exports murmur332 and murmur3128 MultihashHashers. The Multicodecs table defines these multihashes.
The murmur3-32, multicodec code 0x23, may be imported as:
import { murmur332 } from '@multiformats/murmur3'
The murmur3-128, multicodec code 0x22, may be imported as:
import { murmur3128 } from '@multiformats/murmur3'
The murmur3-x64-64 (which is first 64-bits of murmur3-128 used in UnixFS directory sharding), multicodec code 0x22, may be imported as:
import { murmur364 } from '@multiformats/murmur3'
Install
$ npm i @multiformats/murmur3
Browser <script> tag
Loading this module through a script tag will make its exports available as MultiformatsMurmur3 in the global namespace.
<script src="https://unpkg.com/@multiformats/murmur3/dist/index.min.js"></script>
API Docs
License
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.