npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

hotbits

v1.0.1

Published

A library to fetch random bytes from the HotBits API

Readme

NPM Version NPM Version

A Node.js utility to fetch genuine random bytes from the HotBits API service.

import hotbits from 'hotbits';

const API_KEY = // Your hotbits api key

hotbits(API_KEY).then(result => {
     // result will be an array of random bytes as an integers 0-255
     // such as [23, 72, 190, 37, 11, 227, 130, 150, 56, 110]
  })

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.

hotbits('HB10usUsPFyJzKs84zYML85sbBY')

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.

hotbits('Pseudorandom')

To keep your api key out of your source code use an environment variable like this

hotbits(process.env.HOTBITS_KEY)

Options

hotbits(API_KEY, { number: 100})

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