@multiformats/sha3
TypeScript icon, indicating that this package has built-in type declarations

3.0.2 • Public • Published

@multiformats/sha3

multiformats.io codecov CI

Multiformats hash functions for SHA3

Table of contents

Install

$ npm i @multiformats/sha3

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 { sha3256 as hasher } from '@multiformats/sha3'

async function run () {
  const value = { hello: 'world' }
  const block = await Block.encode({ value, hasher, codec })
  console.log(block.cid)
  // -> CID(bafyrmidyqnbqbeh5lmkwavjizfmsz6ezwvjleweh5frwk56akfyugoio2e)
}

run().catch(console.error)

Usage

The @multiformats/sha3 package exports sha3*, shake* and keccak* MultihashHashers. The Multicodecs table defines these multihashes.

The following MultihashHashers are exported:

  • sha3224 - SHA3-224
  • sha3256 - SHA3-256
  • sha3384 - SHA3-384
  • sha3512 - SHA3-512
  • shake128 - SHAKE-128 (256 output bits)
  • shake256 - SHAKE-256 (512 output bits)
  • keccak224 - KECCAK-224
  • keccak256 - KECCAK-256
  • keccak384 - KECCAK-384
  • keccak512 - KECCAK-512

e.g. he sha3-384, multicodec code 0x15, may be imported as:

import { sha3384 } from '@multiformats/sha3'

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.

Package Sidebar

Install

npm i @multiformats/sha3

Weekly Downloads

2,918

Version

3.0.2

License

Apache-2.0 OR MIT

Unpacked Size

22.5 kB

Total Files

7

Last publish

Collaborators

  • npm-service-account-multiformats
  • alanshaw
  • vascosantos
  • achingbrain
  • lidel
  • rvagg
  • daviddias
  • vmx
  • mikeal
  • hugomrdias