@accumulators/hashers
TypeScript icon, indicating that this package has built-in type declarations

4.2.3 • Public • Published

Hashers

@accmulators/hashers library implements the following hashing algorithms:

  • Keccak
  • Poseidon
  • Stark Poseidon
  • Stark Pedersen

Example

import { KeccakHasher } from "@accmulators/hashers";

const hasher = new KeccakHasher();

const hash = hasher.hash([`0x1234`, `0x5678`]);

console.log(hash);

Functions

Every hasher supports the following functions:

constructor(options: HasherOptions) - creates a new hasher instance

Imporant: Don't use constructor for PoseidonHasher, use async create() function instead.

HasherOptions has the following interface:

interface HasherOptions {
  blockSizeBits: number;
  shouldPad?: boolean;
}
  • blockSizeBits (default is 256)
  • shouldPad (defaults is false) - if true every outputted hash will have the same length and zeros will be padded at the beginning of the string

hashSingle(data: string)

Hashes a single string. Returns a hexadecimal number as a string (for example 0x1234567890abcdef).

hash(data: string[])

Hashes array of string and returns a hexadecimal number as a string.

Readme

Keywords

none

Package Sidebar

Install

npm i @accumulators/hashers

Weekly Downloads

16

Version

4.2.3

License

GPL-3.0-or-later

Unpacked Size

140 kB

Total Files

21

Last publish

Collaborators

  • 0xmarcello
  • beeinger