-
Notifications
You must be signed in to change notification settings - Fork 16
Update /docs/hosted-instances page
#2173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
7c3a8fb
12f3d03
1778668
28e6450
06d6c55
af997b0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -6,98 +6,143 @@ sidebar: | |||||||||
| --- | ||||||||||
|
|
||||||||||
| import { LinkCard } from "@astrojs/starlight/components"; | ||||||||||
| import HostedEnsNodeInstances from "@components/molecules/HostedEnsNodeInstances.astro"; | ||||||||||
| import HostedEnsNodeInstance from "@components/molecules/HostedEnsNodeInstance.astro"; | ||||||||||
| import HostedInstanceSdkVersionWarning from "@components/molecules/HostedInstanceSdkVersionWarning.astro"; | ||||||||||
|
|
||||||||||
| ## Hosted Instances | ||||||||||
| 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 (including Basenames, Lineanames, and 3DNS). This superset of indexed data means that the data returned for some ENS Subgraph API queries may be different. **NOTE:** As soon as ENSv2 launches the ENS Subgraph will no longer return correct data. Transition your apps now to the new ENS Omnigraph API to be ENSv2 ready.`; | ||||||||||
| 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. **NOTE:** As soon as ENSv2 launches the ENS Subgraph will no longer return correct data. Transition your apps now to the new ENS Omnigraph API to be ENSv2 ready.`; | ||||||||||
|
Comment on lines
+12
to
+13
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: In Astro, Citations:
Fix Markdown bold in Astro 💡 Proposed fix-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 (including Basenames, Lineanames, and 3DNS). This superset of indexed data means that the data returned for some ENS Subgraph API queries may be different. **NOTE:** As soon as ENSv2 launches the ENS Subgraph will no longer return correct data. Transition your apps now to the new ENS Omnigraph API to be ENSv2 ready.`;
+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 (including Basenames, Lineanames, and 3DNS). This superset of indexed data means that the data returned for some ENS Subgraph API queries may be different. <strong>NOTE:</strong> As soon as ENSv2 launches the ENS Subgraph will no longer return correct data. Transition your apps now to the new ENS Omnigraph API to be ENSv2 ready.`;
-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. **NOTE:** As soon as ENSv2 launches the ENS Subgraph will no longer return correct data. Transition your apps now to the new ENS Omnigraph API to be ENSv2 ready.`;
+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. <strong>NOTE:</strong> As soon as ENSv2 launches the ENS Subgraph will no longer return correct data. Transition your apps now to the new ENS Omnigraph API to be ENSv2 ready.`;📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||
| 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.`; | ||||||||||
| 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 omnigraphUnactivated = `<em>Not activated.</em> This ENSNode instance optimizes for maximum compatibility with the ENS Subgraph. Therefore it exclusively activates the <em>subgraph</em> plugin and does not activate the <em>unigraph</em> plugin that the ENS Omnigraph API requires.`; | ||||||||||
| export const ensProtocolAccelerationAvailable = `<em>Available.</em> Accelerate most of your ENS protocol resolution requests while maintaining full compliance with all ENS protocol standards and best practices.`; | ||||||||||
| export const ensProtocolAccelerationUnavailable = `<em>Unavailable.</em> Your ENS protocol resolution requests will be serviced in full compliance with all ENS protocol standards and best practices. However, this ENSNode instance did not activate the <em>protocol-acceleration</em> plugin and therefore ENS resolution requests will be serviced accurately but without acceleration.`; | ||||||||||
|
|
||||||||||
| NameHash Labs provides freely available hosted instances for ENS developers looking to get started quickly. | ||||||||||
| ## 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. | ||||||||||
| NameHash Labs provides hosted instances of ENSNode for developers building on ENS and looking to get started quickly. | ||||||||||
|
|
||||||||||
| 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 /> | ||||||||||
|
|
||||||||||
| ### Available instance configurations | ||||||||||
| ### ENS Namespaces | ||||||||||
|
|
||||||||||
| Each ENSNode instance is configured for a specific **ENS namespace**. An ENS namespace identifies which ENS protocol deployment ENSNode will provide data for (ex: mainnet or sepolia). | ||||||||||
|
|
||||||||||
| 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. | ||||||||||
| Each ENS namespace is associated with a particular ENS Root Registry deployment, which may or may not have completed the transition from ENSv1 (only) to ENSv1 + ENSv2 (both v1 and v2 concurrently activated together). | ||||||||||
|
|
||||||||||
| Each ENS namespace is associated with a particular ENS Root Registry deployment, which may or may not have completed the transition from ENSv1 to ENSv2. Currently, ENSNode supports the following ENS namespaces: | ||||||||||
| - `mainnet` (ENSv1) | ||||||||||
| - `sepolia` (ENSv1) | ||||||||||
| - `sepolia-v2` (ENSv1+ENSv2 — An independent deployment of ENS to Sepolia that is already upgraded to ENSv2) | ||||||||||
| - `ens-test-env` (ENSv1+ENSv2 — A deployment of ENSv2 to a local Anvil chain for development and testing. For details see https://github.com/ensdomains/ens-test-env and https://github.com/ensdomains/contracts-v2) | ||||||||||
| ENSNode supports all of the following ENS namespaces: | ||||||||||
| - `mainnet` (currently ENSv1 only and not also ENSv2 yet) | ||||||||||
| - `sepolia` (currently ENSv1 only and not also ENSv2 yet) | ||||||||||
| - `sepolia-v2` (now ENSv1 + ENSv2 — An *all new* deployment of ENS to Sepolia that is already upgraded to ENSv1 + ENSv2 and is independent of the traditional `sepolia` ENS namespace listed above which currently remains ENSv1 only) | ||||||||||
| - `ens-test-env` (now ENSv1 + ENSv2 — A deployment of ENSv1 + ENSv2 to a local Anvil chain for development and testing. For details see https://github.com/ensdomains/ens-test-env and https://github.com/ensdomains/contracts-v2). Teams working on the core ENS protocol and infrastructure such as ENS Labs and NameHash Labs are using this ENSNode configuration to support ENSv2 development. | ||||||||||
|
|
||||||||||
| More details about ENS namespaces can be found inside [ENSNode's datasources package](https://github.com/namehash/ensnode/tree/main/packages/datasources). | ||||||||||
|
|
||||||||||
| ### ENSv2 Instances | ||||||||||
| ### ENSNode Plugins | ||||||||||
|
|
||||||||||
| Each ENSNode instance is also configured for a specific set of activated **ENSNode plugins**. | ||||||||||
|
|
||||||||||
| These instances are associated with an ENS namespace that has upgraded to ENSv2 and demonstrate the latest ENSv2 support in ENSNode. | ||||||||||
| 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. | ||||||||||
|
|
||||||||||
| ### ENSv1 + ENSv2 Instances | ||||||||||
| These instances are associated with an ENS namespace that has upgraded to ENSv1 + ENSv2 and demonstrate the latest support in ENSNode for ENSv1 and ENSv2 being concurrently activated together. | ||||||||||
|
|
||||||||||
| #### ENSNode 'v2 Sepolia' | ||||||||||
|
|
||||||||||
| :::tip[v2 Sepolia] | ||||||||||
| The `sepolia-v2` namespace is undergoing active development by the ENS Labs team who is continuing to release updated ENSv2 contracts. It should be considered experimental. | ||||||||||
| ::: | ||||||||||
|
|
||||||||||
| <HostedEnsNodeInstances | ||||||||||
| <HostedEnsNodeInstance | ||||||||||
| 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." | ||||||||||
| /> | ||||||||||
| ensVersions="ENSv1 + ENSv2 (concurrently activated together)" | ||||||||||
| plugins="subgraph, unigraph, protocol-acceleration" | ||||||||||
| > | ||||||||||
| <Fragment slot="ens-omnigraph-api" set:html={omnigraphForEnsV1AndEnsV2} /> | ||||||||||
|
|
||||||||||
| ## ENSv1 Instances | ||||||||||
| <Fragment slot="ens-subgraph-api" set:html={subgraphCompatibilityApiLevel} /> | ||||||||||
|
|
||||||||||
| These instances are associated with an ENS namespace that has **NOT** upgraded to ENSv2 yet and are still operating under ENSv1. These demonstrate 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. | ||||||||||
| <Fragment slot="ens-protocol-acceleration" set:html={ensProtocolAccelerationAvailable} /> | ||||||||||
| </HostedEnsNodeInstance> | ||||||||||
|
|
||||||||||
| ## ENSv1 Only Instances (not also ENSv2 yet) | ||||||||||
|
|
||||||||||
|
tk-o marked this conversation as resolved.
|
||||||||||
| These instances are associated with an ENS namespace that has _NOT_ upgraded to support ENSv1 and ENSv2 concurrently yet and are still operating exclusively under ENSv1. These demonstrate 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. | ||||||||||
|
|
||||||||||
| ### Alpha-style Deployments | ||||||||||
|
|
||||||||||
| These ENSNode instances focus on pushing the boundaries of what's possible with ENSNode. | ||||||||||
| These ENSNode instances do not constrain themselves to exclusively activating the `subgraph` plugin. They activate additional plugins such as the `unigraph` plugin to demonstrate the latest capabilities of ENSNode including _the new ENS Omnigraph API_. | ||||||||||
|
|
||||||||||
| #### ENSNode 'Alpha' | ||||||||||
|
|
||||||||||
| <HostedEnsNodeInstances | ||||||||||
| <HostedEnsNodeInstance | ||||||||||
| instanceURL="https://api.alpha.ensnode.io" | ||||||||||
|
tk-o marked this conversation as resolved.
|
||||||||||
| connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.alpha.ensnode.io" | ||||||||||
| namespace="mainnet" | ||||||||||
| 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." | ||||||||||
| /> | ||||||||||
| ensVersions="ENSv1 only (not also ENSv2 yet)" | ||||||||||
| plugins="<em>unigraph</em>, <em>protocol-acceleration</em>, <em>subgraph</em>, basenames, lineanames, threedns, registrars, tokenscope" | ||||||||||
| > | ||||||||||
| <Fragment slot="ens-omnigraph-api" set:html={omnigraphForEnsV1} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-subgraph-api" set:html={subgraphCompatibilityApiLevel} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-protocol-acceleration" set:html={ensProtocolAccelerationAvailable} /> | ||||||||||
| </HostedEnsNodeInstance> | ||||||||||
|
|
||||||||||
| #### ENSNode 'Alpha-Sepolia' | ||||||||||
|
|
||||||||||
| <HostedEnsNodeInstances | ||||||||||
| <HostedEnsNodeInstance | ||||||||||
| instanceURL="https://api.alpha-sepolia.ensnode.io" | ||||||||||
| connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.alpha-sepolia.ensnode.io" | ||||||||||
| namespace="sepolia" | ||||||||||
| 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." | ||||||||||
| /> | ||||||||||
| ensVersions="ENSv1 only (not also ENSv2 yet)" | ||||||||||
| plugins="<em>unigraph</em>, <em>protocol-acceleration</em>, <em>subgraph</em>, basenames, lineanames, registrars" | ||||||||||
| > | ||||||||||
| <Fragment slot="ens-omnigraph-api" set:html={omnigraphForEnsV1} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-subgraph-api" set:html={subgraphCompatibilityApiLevel} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-protocol-acceleration" set:html={ensProtocolAccelerationAvailable} /> | ||||||||||
| </HostedEnsNodeInstance> | ||||||||||
|
|
||||||||||
| ### Subgraph-style Deployments | ||||||||||
|
|
||||||||||
|
tk-o marked this conversation as resolved.
|
||||||||||
| These ENSNode instances focus on maximizing backwards compatibility with the ENS Subgraph. | ||||||||||
| These ENSNode instances focus on maximizing backwards compatibility with the ENS Subgraph. Therefore they exclusively activate the `subgraph` plugin and no others. | ||||||||||
|
|
||||||||||
| #### ENSNode 'Mainnet' | ||||||||||
|
|
||||||||||
| <HostedEnsNodeInstances | ||||||||||
| <HostedEnsNodeInstance | ||||||||||
| instanceURL="https://api.mainnet.ensnode.io" | ||||||||||
| connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.mainnet.ensnode.io" | ||||||||||
| namespace="mainnet" | ||||||||||
| plugins="subgraph" | ||||||||||
| purpose="Demonstration of ENSNode's backwards compatibility with the ENS Subgraph. Provides 1:1 Subgraph compatible data on mainnet." | ||||||||||
| /> | ||||||||||
| ensVersions="ENSv1 only (not also ENSv2 yet)" | ||||||||||
| plugins="<em>subgraph</em>" | ||||||||||
| > | ||||||||||
| <Fragment slot="ens-omnigraph-api" set:html={omnigraphUnactivated} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-subgraph-api" set:html={subgraphCompatibilityFull} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-protocol-acceleration" set:html={ensProtocolAccelerationUnavailable} /> | ||||||||||
| </HostedEnsNodeInstance> | ||||||||||
|
|
||||||||||
| #### ENSNode 'Sepolia' | ||||||||||
|
|
||||||||||
| <HostedEnsNodeInstances | ||||||||||
| <HostedEnsNodeInstance | ||||||||||
| instanceURL="https://api.sepolia.ensnode.io" | ||||||||||
| connectWithENSAdminURL="https://admin.ensnode.io/connection?connection=https%3A%2F%2Fapi.sepolia.ensnode.io" | ||||||||||
| namespace="sepolia" | ||||||||||
| plugins="subgraph" | ||||||||||
| purpose="Demonstration of ENSNode's backwards compatibility with the ENS Subgraph. Provides 1:1 Subgraph compatible data on Sepolia." | ||||||||||
| /> | ||||||||||
| ensVersions="ENSv1 only (not also ENSv2 yet)" | ||||||||||
| plugins="<em>subgraph</em>" | ||||||||||
| > | ||||||||||
| <Fragment slot="ens-omnigraph-api" set:html={omnigraphUnactivated} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-subgraph-api" set:html={subgraphCompatibilityFull} /> | ||||||||||
|
|
||||||||||
| <Fragment slot="ens-protocol-acceleration" set:html={ensProtocolAccelerationUnavailable} /> | ||||||||||
| </HostedEnsNodeInstance> | ||||||||||
|
|
||||||||||
| ## Start building | ||||||||||
|
|
||||||||||
|
|
||||||||||
Uh oh!
There was an error while loading. Please reload this page.