Use znsjs SDK to interact with ZNS contracts zns.is
ZNS.js
ZNSjs integrates the ZNS contract and ENS and supports all the ENSjs APIs, you will only need one unified SDK to integrate all domains across multiple chains. ZNSjs will hide all the complicated cross-chain detail from the partners, making the integration very easy.
Overview of the API
Installation
Install @znsdomain/znsjs, alongznse .
npm install @znsdomain/znsjs web3
Getting Started
All that's needed to get started is a web3 provider instance, you should pass it and select network id when creating a new ZNS instance.
// zkSync mainnet domain example, getAddress
const ZNS = require('@znsdomain/znsjs').default
const Web3 = require('web3')
let zns
async function main(name) {
const provider = new Web3.providers.HttpProvider("https://mainnet.era.zksync.io")
zns = new ZNS({ provider })
const address = await zns.name(name).getAddress() // 0x202604169023bb6F772456Bc5f2E88d83325F83A
console.log("name: %s, address: %s", name, address)
}
main("zns.zksync")
Reverse Resolution
// // zkSync mainnet domain example, getName
const ZNS = require('@znsdomain/znsjs').default
const Web3 = require('web3')
let zns
async function main(address) {
const provider = new Web3.providers.HttpProvider("https://mainnet.era.zksync.io")
zns = new ZNS({ provider })
const name = await zns.getName(address)
console.log("name: %s, address: %s", name, address)
}
main("0x202604169023bb6F772456Bc5f2E88d83325F83A") // zns.zksync
Returns a Name Object, that allows you to make record queries.
resolver(address: EvmAddress) => Resolver
Returns a Resolver Object, allowing you to query names from this specific resolver. Most useful when querying a different resolver that is different than is currently recorded on the registry. E.g. migrating to a new resolver