Skip to content

Glossary

This page defines the core terminology used throughout the ENSRainbow codebase and documentation. If you notice an unfamiliar word elsewhere in the docs, come back to this page – it is probably defined here.

A single component of an ENS name (characters between two dots). Can contain any valid UTF-8 string – it may or may not be ENS-normalised.

Example: vitalik, 😺, example.eth has labels example & eth

keccak256 hash of the UTF-8 bytes of a label (no pre-normalisation), represented as a 0x-prefixed 64-digit lowercase hex string (32 bytes).

Example: 0xaf2caa…03cc

The act of converting a labelhash back to its original label via a rainbow table lookup.

Example: heal('0xaf2c…') → 'vitalik'

An entry mapping a labelhashlabel. Persisted as a LevelDB key (labelhash bytes) and UTF-8 value (see Data Model).

A logical collection of rainbow records that share a common source and versioning scheme. Each label set represents a dataset snapshot that enables deterministic healing across time. Label sets are identified by a labelSetId and labelSetVersion.

Example: id: subgraph, version: 0

String (1-50 chars) consisting of lowercase ASCII letters and hyphens that names a label set.

Example: subgraph, discovery-a

Non-negative integer that monotonically increases when new labelhash-to-label mappings are added to a label set. Each version contains incremental additions since the previous version. Version 0 is always the initial dataset. Enables deterministic healing across time by allowing clients to pin to specific versions for reproducible results.

Example: 0, 1, 2

Total number of labels that can currently be healed by the running server. Exposed via /count.

Example: 7 892 001

High-level outcome of an API call – either success or error.

HTTP-style numeric code describing the error (400, 404, 500).

A pre-computed set of labelhash → label pairs used for healing.

One-off process that streams a .ensrainbow snapshot into LevelDB.

Example: pnpm run ingest subgraph_0.ensrainbow

Special LevelDB key (length ≠ 32 bytes) storing metadata such as schema version, label set id, etc.

Example: 0xff 0xff 0xff 0xfd

The ENSIP-15 canonicalisation process; ENSRainbow stores labels as-is, even if not normalised.