A Node.js utility to fetch genuine random bytes from the HotBits API service.
; const API_KEY = // Your hotbits api key
Background
In some situations psuedorandom random numbers may not be adequate. HotBits generates genuine random numbers by timing successive pairs of radioactive decays detected by a Geiger-Müller tube interfaced to a computer.
Installation
npm install hotbits
Usage
API Key
Pass your api key into the hotbits function as the first parameter.
To get genuine random bytes you will need to obtain an api key from hotbits here.
For development and testing you can use Pseudorandom
for the api key to receive pseudorandom bytes from the service.
To keep your api key out of your source code use an environment variable like this
Options
Pass an object as the optional second parameter with a property for each option you want to specify. Currently the only option is number
which specifies how many random bytes you want in the result. The maximum allowed is 2048
. If the number option is not specified 10
results are returned.
Return Value
Calling hotbits
returns a promise and initiates a call to the api at https://www.fourmilab.ch/cgi-bin/Hotbits.api. Upon a successful reply the promise resolves to an array with the random bytes requested. The bytes are integers ranging from 0 to 255. On error the promise rejects with the error.
Errors
Reasons that the returned promise will reject with an error include:
- Unable to connect to the api server
- An error returned from the server
- An unexpected response from the server
- Invalid parameters