+
+
diff --git a/docs/ensnode.io/src/components/atoms/images/astro/ENSAdminImage.astro b/docs/ensnode.io/src/components/atoms/images/astro/ENSAdminImage.astro
new file mode 100644
index 0000000000..c106b524e8
--- /dev/null
+++ b/docs/ensnode.io/src/components/atoms/images/astro/ENSAdminImage.astro
@@ -0,0 +1,929 @@
+---
+interface Props {
+ styles?: string;
+}
+const { styles } = Astro.props;
+---
+
+
diff --git a/docs/ensnode.io/src/components/atoms/images/astro/FasterLookupImage.astro b/docs/ensnode.io/src/components/atoms/images/astro/FasterLookupImage.astro
new file mode 100644
index 0000000000..124281360a
--- /dev/null
+++ b/docs/ensnode.io/src/components/atoms/images/astro/FasterLookupImage.astro
@@ -0,0 +1,195 @@
+---
+interface Props {
+ styles?: string;
+}
+const { styles } = Astro.props;
+---
+
+
diff --git a/docs/ensnode.io/src/components/atoms/images/astro/LostENSNamesImage.astro b/docs/ensnode.io/src/components/atoms/images/astro/LostENSNamesImage.astro
new file mode 100644
index 0000000000..06622726b1
--- /dev/null
+++ b/docs/ensnode.io/src/components/atoms/images/astro/LostENSNamesImage.astro
@@ -0,0 +1,109 @@
+---
+interface Props {
+ styles?: string;
+}
+const { styles } = Astro.props;
+---
+
+
diff --git a/docs/ensnode.io/src/components/molecules/JoinTelegram.tsx b/docs/ensnode.io/src/components/molecules/JoinTelegram.tsx
index 7372ae4d89..ba63b9a1d5 100644
--- a/docs/ensnode.io/src/components/molecules/JoinTelegram.tsx
+++ b/docs/ensnode.io/src/components/molecules/JoinTelegram.tsx
@@ -19,7 +19,7 @@ export default function JoinTelegram() {
as="p"
className="text-lg leading-8 min-[930px]:leading-7 font-normal text-gray-500 text-center min-[930px]:text-left"
>
- Get updates, technical support, and connect with our team building the multichain future.
+ Connect with our team to get technical support for making your app fully ENSv2 ready.
- Get updates, technical support, and connect with our team building the multichain future.
+ Connect with our team to get technical support for making your app fully ENSv2 ready.
-
+
diff --git a/docs/ensnode.io/src/content/docs/docs/integrate/why-ensnode.mdx b/docs/ensnode.io/src/content/docs/docs/integrate/why-ensnode.mdx
index 6599e8f2f5..b0d8b9560a 100644
--- a/docs/ensnode.io/src/content/docs/docs/integrate/why-ensnode.mdx
+++ b/docs/ensnode.io/src/content/docs/docs/integrate/why-ensnode.mdx
@@ -2,9 +2,47 @@
title: Why ENSNode?
description: Why ENSNode is the best way to build ENSv2 apps.
---
+import LostENSNamesImage from "@workspace/docs/ensnode.io/src/components/atoms/images/astro/LostENSNamesImage.astro";
+import ENSAdminImage from "@workspace/docs/ensnode.io/src/components/atoms/images/astro/ENSAdminImage.astro";
:::caution[Coming Soon]
We're actively working on this page right now. Check back by May 18th for full content!
:::
This page will explain why ENSNode is the best way to build ENSv2 applications — including ENSNode's ENSv2 readiness, multichain support, how it compares to the legacy ENS Subgraph, and much more.
+
+## Why it's important for ENS?
+
+ENSv2 introduces a completely new onchain data model we refer to as the ENS Namegraph.
+Additionally, when ENSv2 launches, ENSv1 continues to exist in parallel.
+The legacy ENS Subgraph cannot support ENSv2.
+Apps building on ENSv2 need a simple and powerful solution for querying the full unified state of ENSv1 and ENSv2.
+ENSNode delivers this as a full-stack of integration points for developers building on the future of ENS.
+Learn more
+
+
+
+### Close critical ENS infrastructure gaps
+
+Indexed ENS data is vital for the upcoming launch of ENSv2.
+Existing ENS indexed data providers (the ENS Subgraph) are fundamentally unsuitable for ENSv2
+and a replacement is critically required for many of ENS’s most important apps,
+including the official ENS Manager App among many others.
+
+
+
+### Strengthen the decentralization and "unstoppability" of ENS
+
+Our infrastructure under development removes a strict dependency on many centralized
+offchain gateway servers whose downtime would otherwise shut down impacted multichain ENS
+names that are key to the future of ENSv2, such as subnames of base.eth,
+linea.eth, or tokenized DNS names such as .box names or 3DNS names.
+
+
diff --git a/docs/ensnode.io/src/content/docs/docs/services/ensapi/index.mdx b/docs/ensnode.io/src/content/docs/docs/services/ensapi/index.mdx
index 6f1b02ac95..c58d6eb848 100644
--- a/docs/ensnode.io/src/content/docs/docs/services/ensapi/index.mdx
+++ b/docs/ensnode.io/src/content/docs/docs/services/ensapi/index.mdx
@@ -7,6 +7,7 @@ sidebar:
---
import { LinkCard } from '@astrojs/starlight/components';
+import FasterLookupImage from "@workspace/docs/ensnode.io/src/components/atoms/images/astro/FasterLookupImage.astro";
ENSApi is a web service built on top of [ENSDb](/docs/services/ensdb), and provides access to indexed ENS data through multiple HTTP APIs.
@@ -18,15 +19,15 @@ The **Omnigraph API** is the _new_ primary GraphQL API for ENSNode that provides
### ENS Subgraph API
-The Subgraph API is the **deprecated** _legacy_ ENSv1-only GraphQL API. It is now deprecated in favor of the Omnigraph API, but is still available for backwards compatibility reasons with The Graph's ENS subgraph.
+The Subgraph API is the **deprecated** _legacy_ ENSv1-only GraphQL API. It is now deprecated in favor of the Omnigraph API, but is still available for backwards compatibility reasons with The Graph's ENS subgraph.
## REST APIs
-A growing set of REST APIs are also being added to ENSApi.
+A growing set of REST APIs are also being added to ENSApi.
@@ -38,3 +39,11 @@ ENSApi can be configured via environment variables.
title="ENSApi Configuration Options"
href="/docs/services/ensapi/usage/configuration"
/>
+
+## ENS Protocol Acceleration
+
+We are engineering 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.
+
+
diff --git a/docs/ensnode.io/src/content/docs/docs/services/index.mdx b/docs/ensnode.io/src/content/docs/docs/services/index.mdx
index 7473ae52cc..221089901c 100644
--- a/docs/ensnode.io/src/content/docs/docs/services/index.mdx
+++ b/docs/ensnode.io/src/content/docs/docs/services/index.mdx
@@ -6,16 +6,37 @@ sidebar:
order: 1
---
-import { LinkCard, CardGrid } from "@astrojs/starlight/components";
+import ENSNodeServiceCard from "@workspace/docs/ensnode.io/src/components/atoms/ENSNodeServiceCard.astro"
+import ENSRainbow3DImage from "@workspace/docs/ensnode.io/src/assets/ENSRainbow3D.png";
+import ENSIndexer3DImage from "@workspace/docs/ensnode.io/src/assets/ENSIndexer3D.png";
+import ENSAdmin3DImage from "@workspace/docs/ensnode.io/src/assets/ENSAdmin3D.png";
+import ENSApi3DImage from "@workspace/docs/ensnode.io/src/assets/ENSApi3D.png";
+import ENSDb3DImage from "@workspace/docs/ensnode.io/src/assets/ENSDb3D.png";
-**Developing or contributing to ENSNode?** Use these sections for concepts, deployment, configuration, and contribution guides for the part of the stack you care about.
+**Self-hosting or contributing to ENSNode development?** Use these sections for concepts, deployment, configuration,
+and contribution guides for the part of the ENSNode stack you care about.
-Each ENSNode instance is composed of **a set of services**. Each service has a clear role in indexing, storing the onchain state of ENS, APIs, name healing, or admin operations.
+Each ENSNode instance is composed of **a set of services**. Each service has a clear role and set of responsibilities to form the full-stack ENSv2 development platform.
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/ensnode.io/src/pages/index.astro b/docs/ensnode.io/src/pages/index.astro
index aa5be57ff3..34d8988b06 100644
--- a/docs/ensnode.io/src/pages/index.astro
+++ b/docs/ensnode.io/src/pages/index.astro
@@ -1,20 +1,15 @@
---
import { ENSADMIN_URL } from "astro:env/client";
-import ENSNodeSuite from "../components/organisms/ENSNodeSuite";
import Header from "../components/organisms/Header.astro";
-import InfrastructureInnovations from "../components/organisms/InfrastructureInnovations";
-import Proposal from "../components/organisms/Proposal.astro";
import Hero from "../components/overrides/Hero.astro";
import Layout from "../layouts/Layout.astro";
-// Counter is temporarily commented out to prepare a better storytelling for it
+import JoinTelegram from "../components/molecules/JoinTelegram";
---
-
-
-
-
-
+
+
+