scale-decode
v1.3.0
Published
A CLI tool to decode SCALE compact-encoded integers
Maintainers
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-nodejsUsage (basic example)
node scale.jsExample 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 => 127Supported 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.jsCLI support (Global npm link)
Running local WebApp
- Navigate to scale-web directory
- Run
npm run devcommand after installing all dependencies vianpm installinscale-webdirectory - Visit 'localhost:5173' to interact with
React + ViteWebApp
Web UI
