ENSDb SDK
This page provides an overview of the ENSDb SDK and how to use it in your applications.
For TypeScript projects, the ENSDb SDK provides a convenient and efficient way to interact with your ENSDb instance.
Installation
Section titled “Installation”You can install the @ensnode/ensdb-sdk package from the NPM registry, using your preferred package manager:
npm install @ensnode/ensdb-sdkpnpm install @ensnode/ensdb-sdkyarn add @ensnode/ensdb-sdkExample Usage
Section titled “Example Usage”import { EnsDbReader, IndexingMetadataContextStatusCodes } from '@ensnode/ensdb-sdk';import { eq } from 'drizzle-orm';
// Connect to a specific ENSDb instance by providing its connection string and// the ENSIndexer Schema Name you want to queryconst ensDbReader = new EnsDbReader(ensDbConnectionString, ensIndexerSchemaName);const { ensDb, ensIndexerSchema } = ensDbReader;
// Get ENS V1 domains from the ENSIndexer Schemaconst v1Domains = await ensDb .select() .from(ensIndexerSchema.domain) .where(eq(ensIndexerSchema.domain.type, "ENSv1Domain"));
// Get ENS V2 domains from the ENSIndexer Schemaconst v2Domains = await ensDb .select() .from(ensIndexerSchema.domain) .where(eq(ensIndexerSchema.domain.type, "ENSv2Domain"));
// Get indexing status snapshotconst indexingMetadataContext = await ensDbReader.getIndexingMetadataContext();if (indexingMetadataContext.statusCode === IndexingMetadataContextStatusCodes.Initialized) { const indexingStatusSnapshot = indexingMetadataContext.indexingStatus; // Do something with the indexing status snapshot}