@mintlayer/entropy-generator
v1.0.4
Published
An entropy generator based on first durstenfeld variant of fisher-yates.
Downloads
14
Readme
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
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.