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.

TermDefinitionExample
LabelA 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.vitalik, 😺, example.eth has labels example & eth
Labelhashkeccak256 hash of the UTF-8 bytes of a label (no pre-normalisation), represented as a 0x-prefixed 64-digit lowercase hex string (32 bytes).0xaf2caa…03cc
HealThe act of converting a labelhash back to its original label via a rainbow table lookup.heal('0xaf2c…') → 'vitalik'
Rainbow RecordAn entry mapping a labelhashlabel. Persisted as a LevelDB key (labelhash bytes) and UTF-8 value (see Data Model).
Label SetA logical collection of rainbow records that share a common source and versioning scheme (e.g. subgraph v0). Identified by labelSetId & labelSetVersion.id: subgraph, version: 0
Label Set IDString (1-50 chars) consisting of lowercase ASCII letters and hyphens that names a label set.subgraph, discovery-a
Label Set VersionNon-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. Enables deterministic healing across time.0, 1, 2
Healable CountTotal number of labels that can currently be healed by the running server. Exposed via /count.7 892 001
Status CodeHigh-level outcome of an API call – either success or error.
Error CodeHTTP-style numeric code describing the error (400, 404, 500).
Rainbow TableA pre-computed set of labelhash → label pairs used for healing.
IngestionOne-off process that streams a .ensrainbow snapshot into LevelDB.pnpm run ingest subgraph_0.ensrainbow
System KeySpecial LevelDB key (length ≠ 32 bytes) storing metadata such as schema version, label set id, etc.0xff 0xff 0xff 0xfd
ENS NormalizationThe ENSIP-15 canonicalisation process; ENSRainbow stores labels as-is, even if not normalised.