Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ export const integrateSidebarTopic = {
link: "/docs/integrate/integration-options/omnigraph-graphql-api",
},
{
label: "ENSDb Integration Quickstart",
label: "ENSDb (SQL)",
link: "/docs/integrate/integration-options/ensdb",
},
{
Expand All @@ -144,7 +144,7 @@ export const integrateSidebarTopic = {
link: "/docs/integrate/integration-options/ensskills",
},
{
label: "ensdb-cli (Snapshots)",
label: "ensdb-cli (ENSDb Snapshots)",
link: "/docs/integrate/integration-options/ensdb-cli",
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
import ENSAdminLogoDark from "@components/atoms/logos/astro/ENSAdminLogoDark.astro";

const { instanceURL, connectWithENSAdminURL, namespace, plugins, purpose } = Astro.props;
const { instanceURL, connectWithENSAdminURL, namespace, deployments, plugins } = Astro.props;
export const ensNodeVersion = "v1.13.1";
Comment on lines +4 to +5
---
<table style={{marginTop: "0"}}>
<tbody>
Expand All @@ -16,18 +17,33 @@ const { instanceURL, connectWithENSAdminURL, namespace, plugins, purpose } = Ast
</a>
</td>
</tr>
<tr>
<td style={{verticalAlign: "middle"}}>ENSNode Version</td>
<td>{ensNodeVersion}</td>
</tr>
<tr>
<td style={{verticalAlign: "middle"}}>ENS Namespace</td>
<td>{namespace}</td>
</tr>
<tr>
<td style={{verticalAlign: "middle"}}>ENS Deployments</td>
<td>{deployments}</td>
</tr>
<tr>
<td>Active Plugins</td>
<td>{plugins}</td>
</tr>
<tr>
<td>Purpose</td>
<td>APIs</td>
<td>
{purpose}
<dl>
<dt>ENS Omnigraph API</dt>
<dd class="pl-0"><slot name="ens-omnigraph-api" /></dd>
<dt>ENS Protocol Acceleration</dt>
<dd class="pl-0"><slot name="ens-protocol-acceleration" /></dd>
<dt>ENS Subgraph API</dt>
<dd class="pl-0"><slot name="ens-subgraph-api" /></dd>
</dl>
</td>
</tr>
</tbody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const sdkList = isEnskit
---

<Aside type="caution" title="Version compatibility with hosted instances">
Our hosted ENSNode instances currently run ENSNode v1.13. If you are querying them from your own app, you <strong>must</strong> use <span set:html={sdkList} />. The latest published versions (<code>1.14.0+</code>) contain breaking changes in the Omnigraph API data model not yet deployed to our hosted infrastructure. Use these exact install commands:
<a href="/docs/hosted-instances">Our hosted ENSNode instances</a> currently run ENSNode v1.13. If you are querying them from your own app, you <strong>must</strong> use <span set:html={sdkList} />. The latest published versions (<code>1.14.0+</code>) contain breaking changes in the Omnigraph API data model not yet deployed to our hosted infrastructure. Use these exact install commands:

Comment on lines 26 to 28
{isBoth ? (
<pre>npm install enssdk@1.13.1
Expand Down
94 changes: 81 additions & 13 deletions docs/ensnode.io/src/content/docs/docs/hosted-instances.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,23 @@ import { LinkCard } from "@astrojs/starlight/components";
import HostedEnsNodeInstances from "@components/molecules/HostedEnsNodeInstances.astro";
import HostedInstanceSdkVersionWarning from "@components/molecules/HostedInstanceSdkVersionWarning.astro";

export const subgraphCompatibilityApiLevel = `API-level Subgraph Compatibility, where GraphQL APIs are equivalent but a superset of data is being queried and therefore the data returned for some queries may be different.`;
export const subgraphCompatibilityFull = `Full Subgraph Compatibility at both the API-level and the data-level. ENSNode can be used as a drop-in replacement for the ENS Subgraph, with guarantees that all data returned by ENSNode will be fully aligned with the ENS Subgraph.`;
export const omnigraphForEnsV1 = `Powered by a polymorphic GraphQL API with native support for both ENSv1 and ENSv2, though data is exclusively sourced from ENSv1. ENSNode can be used as a future-proof integration point for your app to smoothly transition to ENSv2 when you need.`;
export const omnigraphForEnsV1AndEnsV2 = `Powered by a polymorphic GraphQL API with native support for both ENSv1 and ENSv2. When ENSv2 launches in Summer 2026, data from two protocol versions coexist — and the ENS Omnigraph API will keep your app working against both, at the same time, with no code changes. Domains from ENSv1 and ENSv2 are indexed concurrently and exposed through a unified schema.`;
export const omnigraphUnavailable = `Not activated due to this instance's focus on maximum compatibility with the ENS Subgraph.`;
export const ensProtocolAccelerationAvailable = `Radically accelerated resolution of most ENS queries. ENSNode’s architecture unlocks near-instant bulk resolution of live ENS records, including name resolution configurations that span across multiple chains.`;
export const ensProtocolAccelerationUnavailable = `Not activated due to this instance's focus on maximum compatibility with the ENS Subgraph.`;

## Hosted Instances

NameHash Labs provides freely available hosted instances for ENS developers looking to get started quickly.

These instances are provided free of charge with no API key required, have no rate limiting, and are maintained and monitored by the NameHash Labs team.
These instances are currently provided free of charge with no API key required, have no rate limiting, and are maintained and monitored by the NameHash Labs team.

<HostedInstanceSdkVersionWarning for="both" />

### Available instance configurations
### ENS Namespaces

Each ENSNode hosted instance is configured for a specific ENS **namespace** and activated ENSNode **plugins**. The ENS namespace identifies which ENS protocol deployment will be indexed by ENSNode (ex: mainnet or sepolia). The activated plugins determine the specific indexed data model ENSIndexer will produce in ENSDb and therefore which APIs ENSApi will make available to query.

Expand All @@ -43,9 +51,21 @@ The `sepolia-v2` namespace is undergoing active development by the ENS Labs team
instanceURL="https://api.v2-sepolia.ensnode.io"
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.v2-sepolia.ensnode.io"
namespace="sepolia-v2"
plugins="unigraph, protocol-acceleration"
purpose="Demonstration of ENSNode's support for an ENS namespace that has already transitioned to ENSv2."
/>
deployments="(ENSv1+ENSv2)"
plugins="subgraph, unigraph, protocol-acceleration"
>
<Fragment slot="ens-omnigraph-api">
{omnigraphForEnsV1AndEnsV2}
</Fragment>

<Fragment slot="ens-subgraph-api">
{subgraphCompatibilityApiLevel}
</Fragment>

<Fragment slot="ens-protocol-acceleration">
{ensProtocolAccelerationAvailable}
</Fragment>
</HostedEnsNodeInstances>

## ENSv1 Instances

Expand All @@ -61,19 +81,43 @@ These ENSNode instances focus on pushing the boundaries of what's possible with
instanceURL="https://api.alpha.ensnode.io"
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.alpha.ensnode.io"
namespace="mainnet"
deployments="(ENSv1 only)"
plugins="subgraph, basenames, lineanames, threedns, unigraph, protocol-acceleration, registrars, tokenscope"
purpose="Demonstration of ENSNode's multichain ENS indexing capability for an ENS namespace (mainnet) that is still operating ENSv1. Experience how the ENS Omnigraph API, enssdk, enskit, and the full stack of ENSNode services provide support to developers to become ENSv2 ready even before ENSv2 launches. Provides a superset of the data indexed by the ENS Subgraph. Offers a preview of ENS Protocol Acceleration."
/>
>
<Fragment slot="ens-omnigraph-api">
{omnigraphForEnsV1}
</Fragment>

<Fragment slot="ens-subgraph-api">
{subgraphCompatibilityApiLevel}
</Fragment>

<Fragment slot="ens-protocol-acceleration">
{ensProtocolAccelerationAvailable}
</Fragment>
</HostedEnsNodeInstances>

#### ENSNode 'Alpha-Sepolia'

<HostedEnsNodeInstances
instanceURL="https://api.alpha-sepolia.ensnode.io"
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.alpha-sepolia.ensnode.io"
namespace="sepolia"
deployments="(ENSv1 only)"
plugins="subgraph, basenames, lineanames, registrars, unigraph, protocol-acceleration"
purpose="Demonstration of ENSNode's multichain ENS indexing capability for an ENS namespace (sepolia) that is still operating ENSv1. Experience how the ENS Omnigraph API, enssdk, enskit, and the full stack of ENSNode services provide support to developers to become ENSv2 ready even before ENSv2 launches. Provides a superset of the data indexed by the ENS Subgraph. Offers a preview of ENS Protocol Acceleration."
/>
>
<Fragment slot="ens-omnigraph-api">
{omnigraphForEnsV1}
</Fragment>

<Fragment slot="ens-subgraph-api">
{subgraphCompatibilityApiLevel}
</Fragment>

<Fragment slot="ens-protocol-acceleration">
{ensProtocolAccelerationAvailable}
</Fragment>
</HostedEnsNodeInstances>

### Subgraph-style Deployments

Expand All @@ -85,19 +129,43 @@ These ENSNode instances focus on maximizing backwards compatibility with the ENS
instanceURL="https://api.mainnet.ensnode.io"
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.mainnet.ensnode.io"
namespace="mainnet"
deployments="(ENSv1 only)"
plugins="subgraph"
purpose="Demonstration of ENSNode's backwards compatibility with the ENS Subgraph. Provides 1:1 Subgraph compatible data on mainnet."
/>
>
<Fragment slot="ens-omnigraph-api">
{omnigraphUnavailable}
</Fragment>

<Fragment slot="ens-subgraph-api">
{subgraphCompatibilityFull}
</Fragment>

<Fragment slot="ens-protocol-acceleration">
{ensProtocolAccelerationUnavailable}
</Fragment>
</HostedEnsNodeInstances>

#### ENSNode 'Sepolia'

<HostedEnsNodeInstances
instanceURL="https://api.sepolia.ensnode.io"
connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.sepolia.ensnode.io"
namespace="sepolia"
deployments="(ENSv1 only)"
plugins="subgraph"
purpose="Demonstration of ENSNode's backwards compatibility with the ENS Subgraph. Provides 1:1 Subgraph compatible data on Sepolia."
/>
>
<Fragment slot="ens-omnigraph-api">
{omnigraphUnavailable}
</Fragment>

<Fragment slot="ens-subgraph-api">
{subgraphCompatibilityFull}
</Fragment>

<Fragment slot="ens-protocol-acceleration">
{ensProtocolAccelerationUnavailable}
</Fragment>
</HostedEnsNodeInstances>

## Start building

Expand Down
Loading