@mintlayer/entropy-generator

1.0.4 • Public • Published

Entropy generator

An entropy generator based on first durstenfeld variant of fisher-yates.

Versions

This is the main branch.

Latest packages can be find on npm or releases.

Latest public package source code can be found here: v1.0.4

branch status

Install

npm i @mintlayer/entropy-generator

Environment support

This lib can be used on the browser or Node environment. The Buffer object and Random function will adapt accordingly.

Usage

generateEntropy

Call the function generateEntropy with a normalized array of integers as parameter. The second parameter(optional) is the size of the output. If set, it has to be smaller or the same size as the input. A Buffer object will be returned.

By "normalized" it means all values should be between 0-255. You can normalize you array by yourself or the normalizer function exported also by this library.

Example 1:

import { generateEntropy } from 'entropy-generator'

const initialArray = [ 1, 170, 55, 80, 190 ]
const entropy = generateEntropy(initialArray)
// entropy size: 5

Example 2:

import { generateEntropy } from 'entropy-generator'

const initialArray = [ 1, 170, 55, 80, 190 ]
const entropy = generateEntropy(initialArray, 3)
// entropy size: 3

normalize

Call the function normalize an array of integers as parameter. Another array will be returned with all values between 0-255.

Example:

import { normalize } from 'entropy-generator'

const initialArray = [-2000, -15000, 300, 400, 1500]
normalize(initialArray)
// returns: Uint8Array(5) [ 201, 0, 236, 238, 255 ]

Development

Install deps

npm i

Build

npm run build

Run tests

Run once

npm test

Watch

npm run test:watch

Coverage

npm run test:coverage

Lint

npm run lint

How to Contribute

Check here to see what you should do, and the rules you should follow, to contribute to this project.

Package Sidebar

Install

npm i @mintlayer/entropy-generator

Weekly Downloads

12

Version

1.0.4

License

MIT

Unpacked Size

14.7 kB

Total Files

5

Last publish

Collaborators

  • owlsua
  • renie