Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a83d810
Update docs for Unigraph examples
tk-o May 26, 2026
5ab3e68
Apply AI PR feedback
tk-o May 26, 2026
3d9881c
Apply AI PR feedback
tk-o May 27, 2026
22012e2
Merge remote-tracking branch 'origin/main' into docs/improve-unigraph…
tk-o May 27, 2026
97ccdb4
Create dedicated pages
tk-o May 27, 2026
15fc5b2
Udpate ENSNode Plugins page
tk-o May 27, 2026
d701b2e
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o May 30, 2026
2e61b46
Shift plugins narrative to focus on "ENSNode Plugins"
tk-o May 30, 2026
dc68c9a
Apply AI PR feedback
tk-o May 30, 2026
799444a
Apply AI PR feedback
tk-o May 30, 2026
4ffbc77
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o May 30, 2026
b9ad9ff
Apply AI PR feedback
tk-o May 30, 2026
8e6910f
Fix sidebar link desc
tk-o May 30, 2026
7078001
Apply suggestions from code review
tk-o Jun 1, 2026
6b1904d
Apply suggestions from code review
tk-o Jun 1, 2026
321a5b6
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o Jun 1, 2026
a8ab221
convert crlf to lf
tk-o Jun 1, 2026
0a94011
Apply PR feedback
tk-o Jun 1, 2026
8439521
Apply PR feedback
tk-o Jun 2, 2026
b278eff
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o Jun 2, 2026
9aa00be
Apply PR feedback
tk-o Jun 2, 2026
3e5bb48
Add plugin info links
tk-o Jun 2, 2026
3aa5d30
Apply AI PR feedback
tk-o Jun 2, 2026
ff7597e
Apply AI PR feedback
tk-o Jun 2, 2026
c6aa559
Apply AI PR feedback
tk-o Jun 3, 2026
ec6fabd
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o Jun 3, 2026
08cde59
Update references relator to "ENSDb Writer" and "ENSDb Reader"
tk-o Jun 3, 2026
840e79e
Drop a temp design file
tk-o Jun 3, 2026
2eecf14
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o Jun 3, 2026
fce23a4
Apply AI PR feedback
tk-o Jun 3, 2026
a28a838
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o Jun 3, 2026
77ee770
Merge remote-tracking branch 'origin/main' into docs/improve-ensdb-wr…
tk-o Jun 3, 2026
d5d982f
Fix typo
tk-o Jun 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/ensnode.io/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ export default defineConfig({
"/docs/integrate/ens-subgraph/examples/with-ensjs",
"/docs/reference/subgraph-legacy/with-viem": "/docs/integrate/ens-subgraph/examples/with-viem",
"/docs/reference/subgraph-legacy/subgraph-dependents": "/docs/integrate/ens-subgraph",
"/docs/services/ensdb/usage": "/docs/services/ensdb/integrations",
"/docs/services/ensdb/usage/sdk": "/docs/integrate/unigraph/examples",
"/docs/services/ensdb/usage/sql": "/docs/integrate/unigraph/examples",
Comment thread
tk-o marked this conversation as resolved.
"/docs/services/ensdb/integrations/ensnode": "/docs/services/ensdb/reference-implementation",
"/docs/services/ensdb/integrations/future-possibilities": "/docs/services/ensdb/integrations",
"/ensadmin": "/docs/services/ensadmin",
"/ensapi": "/docs/services/ensapi",
"/ensdb": "/docs/services/ensdb",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,18 @@ export const integrateSidebarTopic = {
label: "ENSDb (SQL)",
link: "/docs/integrate/integration-options/ensdb",
},
{
label: "ENSDb Writers (Indexers)",
link: "/docs/integrate/integration-options/ensdb-writers",
},
{
label: "ENSDb Readers (Custom APIs)",
link: "/docs/integrate/integration-options/ensdb-readers",
},
{
label: "ENSNode Plugins (data models)",
link: "/docs/integrate/integration-options/ensnode-plugins",
},
{
label: "enscli (CLI)",
link: "/docs/integrate/integration-options/enscli",
Expand All @@ -231,7 +243,7 @@ export const integrateSidebarTopic = {
link: "/docs/integrate/integration-options/ensskills",
},
{
label: "ensdb-cli (ENSDb Snapshots)",
label: "ensdb-cli (Snapshots)",
link: "/docs/integrate/integration-options/ensdb-cli",
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,28 +46,11 @@ export const servicesSidebarTopic = {
{ label: "Database Schemas", link: "/docs/services/ensdb/concepts/database-schemas" },
],
},
{ label: "Integrations", link: "/docs/services/ensdb/integrations" },

{
label: "Usage",
collapsed: true,
items: [
{ label: "Overview", link: "/docs/services/ensdb/usage" },
{ label: "ENSDb SDK", link: "/docs/services/ensdb/usage/sdk" },
{ label: "ENSDb SQL", link: "/docs/services/ensdb/usage/sql" },
],
},
{
label: "Integrations",
collapsed: true,
items: [
{
label: "ENSNode Reference Implementation",
link: "/docs/services/ensdb/integrations/ensnode",
},
{
label: "Future Possibilities",
link: "/docs/services/ensdb/integrations/future-possibilities",
},
],
label: "Reference Implementation",
link: "/docs/services/ensdb/reference-implementation",
},
],
Comment thread
tk-o marked this conversation as resolved.
},
Expand All @@ -91,7 +74,7 @@ export const servicesSidebarTopic = {
items: [
{ label: "Overview", link: "/docs/services/ensindexer/contributing" },
{
label: "Creating a Plugin",
label: "ENSNode Plugins",
link: "/docs/services/ensindexer/contributing/creating-a-plugin",
},
],
Expand Down
80 changes: 0 additions & 80 deletions docs/ensnode.io/mindmap.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { Aside } from "@astrojs/starlight/components";
---

<Aside type="note" title="Reading data from your ENSDb">
See how to connect to ENSDb and get access to the <code>ensDb</code> query builder and <code
>ensIndexerSchema</code
>
schema definition in the <a href="/docs/integrate/unigraph/examples">Connect</a> section if you haven't
already.
See how to connect to ENSDb and get access to the <code>ensDb</code> query builder and <a
href="/docs/services/ensdb/concepts/glossary#ensdb-writer-schema"
><code>ensIndexerSchema</code>
schema definition</a
> in the <a href="/docs/integrate/unigraph/examples">Connect</a> section if you haven't already.
</Aside>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
import { Aside } from "@astrojs/starlight/components";

const { ensDbWriterSchemaName = "ensindexer_0" } = Astro.props;
---

<Aside type="note" title="What is an ENSDb Writer Schema?">
<p>
An <a href="/docs/services/ensdb/concepts/glossary#ensdb-writer-schema">ENSDb Writer Schema</a> is
a database schema within an <a href="/docs/services/ensdb/concepts/glossary#ensdb-instance"
>ENSDb instance</a
>, used to store indexed ENS data from a given <a
href="/docs/services/ensdb/concepts/glossary#ensdb-writer">ENSDb Writer</a
> instance. We use <code>{ensDbWriterSchemaName}</code> as the <a
href="/docs/services/ensdb/concepts/glossary#ensdb-writer-schema-name"
>ENSDb Writer Schema Name</a
> in examples on this page, but your <a
href="/docs/services/ensdb/concepts/glossary#ensdb-writer">ENSDb Writer</a
> instance may be configured to use a different schema name. Make sure to replace
<code>{ensDbWriterSchemaName}</code> with the actual schema name used by your ENSDb Writer instance
when querying the ENSDb instance directly. For example, <a
href="/docs/services/ensdb/concepts/glossary#ensindexer">ENSIndexer</a
> allows configuring its own ENSDb Writer Schema Name with the <code
>ENSINDEXER_SCHEMA_NAME</code
> environment variable.
</p>
</Aside>

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ const ensNodeSchemaName = "ensnode";
<Aside type="note" title="What is ENSNode Schema?">
The <a href="/docs/services/ensdb/concepts/glossary#ensnode-schema">ENSNode Schema</a> is a database
schema within an <a href="/docs/services/ensdb/concepts/glossary#ensdb-instance">ENSDb instance</a
>, used to store metadata about <a
href="/docs/services/ensdb/concepts/glossary#ensindexer-instance">ENSIndexer instances</a
> that have ever connected to the ENSDb instance. There can be only one ENSNode Schema per ENSDb instance,
and its name is always <code>{ensNodeSchemaName}</code>.
>, used to store metadata about <a href="/docs/services/ensdb/concepts/glossary#ensdb-writer"
>ENSDb Writer</a
> instances that have ever connected to the ENSDb instance. There can be only one ENSNode Schema per
ENSDb instance, and its name is always <code>{ensNodeSchemaName}</code>.
</Aside>
14 changes: 8 additions & 6 deletions docs/ensnode.io/src/content/docs/docs/hosted-instances.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import HostedEnsNodeInstance from "@components/molecules/HostedEnsNodeInstance.a
import HostedInstanceVersionWarning from "@components/molecules/HostedInstanceVersionWarning.astro";
import EnsSubgraphCorrectnessPostEnsV2Launch from "@components/molecules/EnsSubgraphCorrectnessPostEnsV2Launch.astro";

export const pluginLink = (pluginName) => `<a href="/docs/integrate/integration-options/ensnode-plugins#existing-plugins" class="underline">${pluginName}</a>`;
Comment thread
tk-o marked this conversation as resolved.
Comment thread
tk-o marked this conversation as resolved.

export const subgraphCompatibilityApiLevel = `<em>API-level Subgraph Compatibility.</em> This ENSNode instance has a fully backwards compatible ENS Subgraph GraphQL API. However, additional plugins have been activated which index a superset of data into the subgraph data model in ENSDb. This superset of indexed data means that the data returned for some ENS Subgraph API queries may be different.`;
export const subgraphCompatibilityFull = `<em>Full Subgraph Compatibility.</em> This ENSNode instance has a fully backwards compatible ENS Subgraph GraphQL API at both the API-level and the data-level. We have exhaustively tested and verified that every data record returned by this ENSNode instance's ENS Subgraph API is byte-for-byte identical with The Graph's ENS Subgraph API.`;
export const omnigraphForEnsV1 = `<em>Activated.</em> Demonstrates the ENS Omnigraph's ability to support ENSv1 only before ENSv2 launches and both ENSv1 and ENSv2 are concurrently active. Until ENSv2 launches on this namespace, only ENSv1 domains will be available. As soon as ENSv2 launches on this namespace both ENSv1 and ENSv2 domains will be available.`;
Expand Down Expand Up @@ -50,7 +52,7 @@ More details about ENS namespaces can be found inside [ENSNode's datasources pac

### ENSNode Plugins

Each ENSNode instance is also configured for a specific set of activated **ENSNode plugins**.
Each ENSNode instance is also configured for a specific set of activated [ENSNode plugins](/docs/integrate/integration-options/ensnode-plugins).

The activated plugins determine the specific indexed data model and data records ENSIndexer will produce in ENSDb and therefore which APIs and data records ENSApi will make available to query.

Expand All @@ -69,7 +71,7 @@ The `sepolia-v2` namespace is undergoing active development by the ENS Labs team
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.v2-sepolia.ensnode.io"
namespace="sepolia-v2"
ensVersions="ENSv1 + ENSv2 (concurrently activated together)"
plugins="<em>unigraph</em>, <em>protocol-acceleration</em>, <em>subgraph</em>"
plugins={`${pluginLink("unigraph")}, ${pluginLink("protocol-acceleration")}, ${pluginLink("subgraph")}`}
>
<Fragment slot="ens-omnigraph-api-icon" set:text={"✅"} />
<Fragment slot="ens-omnigraph-api" set:html={omnigraphForEnsV1AndEnsV2} />
Expand Down Expand Up @@ -99,7 +101,7 @@ These ENSNode instances do not constrain themselves to exclusively activating th
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.alpha.ensnode.io"
namespace="mainnet"
ensVersions="ENSv1 only (not also ENSv2 yet)"
plugins="<em>unigraph</em>, <em>protocol-acceleration</em>, <em>subgraph</em>, basenames, lineanames, threedns, registrars, tokenscope"
plugins={`${pluginLink("unigraph")}, ${pluginLink("protocol-acceleration")}, ${pluginLink("subgraph")}, ${pluginLink("basenames")}, ${pluginLink("lineanames")}, ${pluginLink("threedns")}, ${pluginLink("registrars")}, ${pluginLink("tokenscope")}`}
>
<Fragment slot="ens-omnigraph-api-icon" set:text={"✅"} />
<Fragment slot="ens-omnigraph-api" set:html={omnigraphForEnsV1} />
Expand All @@ -121,7 +123,7 @@ These ENSNode instances do not constrain themselves to exclusively activating th
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.alpha-sepolia.ensnode.io"
namespace="sepolia"
ensVersions="ENSv1 only (not also ENSv2 yet)"
plugins="<em>unigraph</em>, <em>protocol-acceleration</em>, <em>subgraph</em>, basenames, lineanames, registrars"
plugins={`${pluginLink("unigraph")}, ${pluginLink("protocol-acceleration")}, ${pluginLink("subgraph")}, ${pluginLink("basenames")}, ${pluginLink("lineanames")}, ${pluginLink("registrars")}`}
>
<Fragment slot="ens-omnigraph-api-icon" set:text={"✅"} />
<Fragment slot="ens-omnigraph-api" set:html={omnigraphForEnsV1} />
Expand All @@ -147,7 +149,7 @@ These ENSNode instances focus on maximizing backwards compatibility with the ENS
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.mainnet.ensnode.io"
namespace="mainnet"
ensVersions="ENSv1 only (not also ENSv2 yet)"
plugins="<em>subgraph</em>"
plugins={`${pluginLink("subgraph")}`}
>
<Fragment slot="ens-omnigraph-api-icon" set:text={"❌"} />
<Fragment slot="ens-omnigraph-api" set:html={omnigraphUnactivated} />
Expand All @@ -169,7 +171,7 @@ These ENSNode instances focus on maximizing backwards compatibility with the ENS
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.sepolia.ensnode.io"
namespace="sepolia"
ensVersions="ENSv1 only (not also ENSv2 yet)"
plugins="<em>subgraph</em>"
plugins={`${pluginLink("subgraph")}`}
>
<Fragment slot="ens-omnigraph-api-icon" set:text={"❌"} />
<Fragment slot="ens-omnigraph-api" set:html={omnigraphUnactivated} />
Expand Down
3 changes: 3 additions & 0 deletions docs/ensnode.io/src/content/docs/docs/integrate/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,9 @@ The ENS Omnigraph API is a GraphQL API following the Relay specification, so you
Beyond [`enssdk`](/docs/integrate/integration-options/enssdk), [`enskit`](/docs/integrate/integration-options/enskit), and the [Omnigraph GraphQL API](/docs/integrate/integration-options/omnigraph-graphql-api), ENSNode exposes a deeper set of integration surfaces for advanced use cases:

- **[ENSDb (SQL)](/docs/integrate/integration-options/ensdb)** — query the indexed ENSv1 and ENSv2 datasets directly via SQL for custom analytics or your own service layer, from any language with a Postgres driver.
- **[ENSDb Writers (Indexers)](/docs/integrate/integration-options/ensdb-writers)** — build your own ENSDb Writer to index ENS data into your own ENSDb instance.
- **[ENSDb Readers](/docs/integrate/integration-options/ensdb-readers)** — build your own ENSDb Reader to query your own ENSDb instance through any interface of your choice.
- **[ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins)** — define how onchain data should be indexed into ENSDb.
Comment thread
tk-o marked this conversation as resolved.
- **[enscli (CLI)](/docs/integrate/integration-options/enscli)** — resolve names, look up records, and run ad-hoc Omnigraph queries from the terminal — built for humans and AI agents alike.
- **[ensskills (AI agents)](/docs/integrate/integration-options/ensskills)** — a curated set of skills that gives AI coding agents a well-defined contract for working with ENS.
- **[ensdb-cli (ENSDb Snapshots)](/docs/integrate/integration-options/ensdb-cli)** — bootstrap a fresh ENSDb in minutes from portable, versioned snapshots instead of waiting days on a full historical backfill.
Expand Down
Loading
Loading