Skip to content

Repository files navigation

@multiformats/murmur3

multiformats.io codecov CI

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

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.

About

Multiformats hash functions for MurmurHash3

Resources

Code of conduct

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages