ENSRainbow Architecture Overview
ENSRainbow consists of four primary layers working together to “heal” unknown labels:
- Data Generation & Conversion – CSV files are converted to the modern
.ensrainbowformat (SQL conversion is available only for migrating legacy ENS Subgraph data). - Data Ingestion – the
.ensrainbowfiles are ingested into a LevelDB database using theingest-ensrainbowCLI. - HTTP API Service – state in the database is exposed through a lightweight HTTP API.
- Client Integration – applications call the API directly or via the TypeScript SDK.
flowchart TD
subgraph Data_Generation
CSV["CSV files"]
SQL[".sql.gz files
(legacy only)"]
ENSRB[".ensrainbow files"]
CSV --> ConvertCSV["convert command"]
SQL --> ConvertSQL["convert-sql command
(legacy migration)"]
ConvertCSV --> ENSRB
ConvertSQL --> ENSRB
end
ENSRB --> Ingest["ingest-ensrainbow"]
Ingest --> DB[(LevelDB)]
DB --> API[["HTTP API /v1/*"]]
API --> SDK["@ensnode/ensrainbow-sdk"]
SDK --> App["Your app"]
Understanding the flow helps you pick the right starting point—whether you only need the hosted API, want to ingest your own data, or plan to contribute to the core.