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 🙏

© 2026 – Pkg Stats / Ryan Hefner

scale-decode

v1.3.0

Published

A CLI tool to decode SCALE compact-encoded integers

Readme

SCALE Compact Encoder / Decoder (Node.js)

A simple and accurate SCALE Compact Integer decoder implementation in Node.js — built from scratch to help understand and work with SCALE encoding used in Substrate-based blockchains (like Polkadot, Kusama, etc.).

  • A set of interactive CLI tools to encode and decode SCALE compact integers — used in blockchains.

🚀 Features

  • Encodes / Decodes SCALE compact-encoded integers (all 4 modes: single-byte, two-byte, four-byte, big-integer).
  • Fully little-endian aware.
  • Helpful debug logs for educational purposes.
  • Interactive CLI tool for learners
  • Designed for manual testing and prototyping.

📦 Installation

Clone the repository:

git clone https://github.com/pallasite99/scale-nodejs.git
cd scale-nodejs

Usage (basic example)

node scale.js

Example Output (Decoding)

Parsed bytes: <Buffer 04>
Decoded 0x04 => 1

Parsed bytes: <Buffer 08>
Decoded 0x08 => 2

Parsed bytes: <Buffer fc>
Decoded 0xfc => 63

Parsed bytes: <Buffer fc 01>
Decoded 0xfc01 => 127

Supported SCALE Compact modes

| Mode Bits | Bytes Used | Max Value | Description        |
|-----------|------------|-----------|--------------------|
| `00`      | 1 byte     | up to 63  | Single-byte mode   |
| `01`      | 2 bytes    | up to 16K | Two-byte mode      |
| `10`      | 4 bytes    | up to 1B  | Four-byte mode     |
| `11`      | N+5 bytes  | BigInt    | Big-integer mode   |

Local CLI usage

node ./bin/scale-decode.js
node ./bin/scale-encode.js

CLI support (Global npm link)

Screenshot 2025-03-26 123921 Screenshot 2025-03-27 103502

Running local WebApp

  1. Navigate to scale-web directory
  2. Run npm run dev command after installing all dependencies via npm install in scale-web directory
  3. Visit 'localhost:5173' to interact with React + Vite WebApp

Web UI

image image