1.0.4 • Published 8 months ago

@mintlayer/entropy-generator v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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.

1.0.4

8 months ago

1.0.3

9 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago