I just deployed the ENS contracts to Holesky. Since Goerli is being deprecated, going forward we will only be deploying testnet contracts to Holesky and Sepolia. I’ve listed the testnet addresses below, but if these break, please check directly in the ens-contracts
repo for the latest deployments. You can also check the docs here: Deployments | ENS Docs
Discovery mechanisms
It is recommended to use these discovery mechanisms within your app to avoid using the wrong contract as and when contracts are being upgraded. If you are directly using an address for an upgradeable, expect it to break in the future.
As usual these contracts can be discovered using ENS directly:
- NameWrapper -
ens.resolver(namehash('eth')).interfaceImplementer('0x019a38fe')
- .eth Registrar Controller -
ens.resolver(namehash('eth')).interfaceImplementer('0x612e8c09')
- BaseRegistrar -
ens.owner(namehash('eth'))
- Reverse Registrar -
ens.owner(namehash('addr.reverse'))
- Public Resolver (mainnet) -
ens.resolver(namehash('resolver.ens.eth')).addr()
- Public Resolver (testnets) -
ens.resolver(namehash('resolver.eth')).addr()
Main addresses
Below are the main ENS contracts. If you need some of the internal contracts, you can directly check the ens-contracts
repo to see the latest deployments in the deployments
folder
Holesky Updated: 27/1/24
- ENSRegistry: 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
- BaseRegistrarImplementation: 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85
- ETHRegistrarController: 0x179Be112b24Ad4cFC392eF8924DfA08C20Ad8583
- PublicResolver: 0x9010A27463717360cAD99CEA8bD39b8705CCA238
- NameWrapper: 0xab50971078225D365994dc1Edcb9b7FD72Bb4862
- UniversalResolver: 0x2548a7E09deE955c4d97688dcB6C5b24085725f5
- ReverseRegistrar: 0x132AC0B116a73add4225029D1951A9A707Ef673f
Sepolia Updated: 27/1/24
- ENSRegistry: 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
- BaseRegistrarImplementation: 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85
- ETHRegistrarController: 0xFED6a969AaA60E4961FCD3EBF1A2e8913ac65B72
- PublicResolver: 0x8FADE66B79cC9f707aB26799354482EB93a5B7dD
- NameWrapper: 0x0635513f179D50A207757E05759CbD106d7dFcE8
- UniversalResolver: 0xBaBC7678D7A63104f1658c11D6AE9A21cdA09725
- ReverseRegistrar: 0xA0a1AbcDAe1a2a4A2EF8e9113Ff0e02DD81DC0C6
Mainnet Updated 27/1/24
- ENSRegistry: 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
- BaseRegistrarImplementation: 0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85
- ETHRegistrarController: 0x253553366Da8546fC250F225fe3d25d0C782303b
- PublicResolver: 0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63
- NameWrapper: 0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401
- UniversalResolver: 0x8cab227b1162f03b8338331adaad7aadc83b895e
- ReverseRegistrar: 0xa58E81fe9b61B5c3fE2AFD33CF304c454AbFc7Cb