Package Exports
- @justaname.id/hybrid-primary-name
- @justaname.id/hybrid-primary-name/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@justaname.id/hybrid-primary-name) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Hybrid Primary Name
Hybrid Primary Name is a Viem extension package that enables reverse ENS resolution to fetch the primary ENS name associated with a given Ethereum address. It integrates seamlessly with both Viem's createPublicClient
and ENS's createEnsPublicClient
.
Table of Contents
Installation
Install the package via npm or yarn:
npm install @justaname.id/hybrid-primary-name
# or
yarn add @justaname.id/hybrid-primary-name
Initialization
Using Viem's createPublicClient
with ENS Contracts
import { createPublicClient, http } from 'viem';
import { addEnsContracts } from '@ensdomains/ensjs';
import { mainnet, sepolia } from 'viem/chains';
import { primaryName } from '@justaname.id/hybrid-primary-name';
const client = createPublicClient({
chain: addEnsContracts(**mainnet or sepolia**),
transport: http(**Provider URL**),
}).extend(primaryName())
Using ENS's createEnsPublicClient
import { http } from 'viem';
import { createEnsPublicClient } from '@ensdomains/ensjs'
import { mainnet, sepolia } from 'viem/chains';
import { primaryName } from '@justaname.id/hybrid-primary-name';
const client = createEnsPublicClient({
chain: **mainnet or sepolia**,
transport: http(**Provider URL**),
}).extend(primaryName())
Usage
The getEnsFromAddress
method returns the primary ENS name associated with the given Ethereum address.
await client.getEnsFromAddress(**Address**),