ENS Libraries

ENS support is available in many popular languages. If you know of a library that is not listed here, please send us a PR.


Which Javascript library should I use?

If you are already using web3.js or ethers.js, and do not require functionality such as creating subdomains, transferring ownership, or updating resolvers, use built in ENS features of these libraries.

If you are using React and only need to do forward and reverse resolution of ENS names with built in UI, use react-ens-address.

If you want to have ENS instance deployed into your dev environment, you may want to use embark.io or waffle.io which allows you to configure/deploy ENS registry in your Ethereum test instance.

Otherwise, use ensjs.

Accessing smart contracts directly

All the ENS smart contracts are Truffle projects and published as npm modules (eg: ENS registry). If you want to access to functions none of the above libraries support you can install the smart contracts via npm.

The bytecode and abi are precompiled and can be imported from the modules.

import { abi , bytecode } from '@ensdomains/ens/build/contracts/ENS.json'







Next Steps

Once you've chosen a library, read Working with ENS to learn how to use your chosen ENS library in your application.